/* 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; }
}
}