/* MOD_V2.0 * Copyright (c) 2012 OpenDA Association * All rights reserved. * * This file is part of OpenDA. * * OpenDA is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * OpenDA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with OpenDA. If not, see . */ using System; using System.Collections.Generic; namespace OpenDA.DotNet.Interfaces { /** * Observation Descriptions */ public interface IObservationDescriptions { /// /// Get the exchange items describing the measures available in the stoch. observer. /// /// All exchange items in the stoch. observer. List ExchangeItems { get; } /// /// Get properties (values) that correspond to a given key. /// /// I key for which the value is asked /// Properties (column of data from observation descriptions) IVector GetValueProperties(String Key); /// /// Get properties (strings) that correspond to a given key. /// /// I key for which the value is asked /// Properties (column of data from observation descriptions) String[] GetStringProperties(String Key); /// /// Get names of all keys. /// /// error status: All keys of the observation descriptions String[] PropertyKeys { get; } /// /// Get number of properties/keys. /// /// number of properties int PropertyCount { get; } /// /// Get number of observations. /// /// number of observations int ObservationCount { get; } /// /// Get all different times in increasing order. There is at least one observation for each time. /// It is likely that observer.createSelection(time[i]) will be used to walk through the /// observations. The implementation of the stochobserver should garantee that al observations are /// returned in exactly one batch this way. /// /// array with all uniquely different times. ITime[] Times { get; } } }