Package org.sensorhub.api.data
Class DataStreamInfo
java.lang.Object
org.sensorhub.api.data.DataStreamInfo
- All Implemented Interfaces:
IDataStreamInfo
,IResource
Immutable object containing information about a data stream of observations.
This class is mainly useful for creating new datastreams as it does not
provide dynamic timing information (i.e. getPhenomenonTimeRange()
and getResultTimeRange()
both return a fixed arbitrary value).
A full implementation must extend or wrap this class and implement these
methods to compute correct values based on actual data available from the
data store.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static class
DataStreamInfo.DataStreamInfoBuilder<B extends DataStreamInfo.DataStreamInfoBuilder<B,
T>, T extends DataStreamInfo> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected FeatureId
protected String
protected FeatureId
protected String
protected Duration
protected FeatureId
protected DataEncoding
protected DataComponent
protected Duration
protected FeatureId
protected FeatureId
protected TimeExtent
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.sensorhub.api.data.IDataStreamInfo
getFullName
-
Field Details
-
name
-
description
-
systemID
-
procedureID
-
deploymentID
-
featureOfInterestID
-
samplingFeatureID
-
validTime
-
phenomenonTimeInterval
-
resultTimeInterval
-
recordStruct
-
recordEncoding
-
-
Constructor Details
-
DataStreamInfo
public DataStreamInfo()
-
-
Method Details
-
getName
-
getDescription
- Specified by:
getDescription
in interfaceIResource
- Returns:
- A short description of the resource
-
getSystemID
- Specified by:
getSystemID
in interfaceIDataStreamInfo
- Returns:
- The identifier of the system that produces this data stream
-
getOutputName
- Specified by:
getOutputName
in interfaceIDataStreamInfo
- Returns:
- The name of the system output that is/was the source of this data stream
-
getProcedureID
- Specified by:
getProcedureID
in interfaceIDataStreamInfo
- Returns:
- A reference to the procedure associated to this datastream. (only provided if all observations in the datastream share the same procedure)
-
getDeploymentID
- Specified by:
getDeploymentID
in interfaceIDataStreamInfo
- Returns:
- A reference to the deployment associated to this datastream. (only provided if all observations in the datastream were produced during the same deployment)
-
getFeatureOfInterestID
- Specified by:
getFeatureOfInterestID
in interfaceIDataStreamInfo
- Returns:
- A reference to the ultimate feature of interest associated to this datastream. (only provided if all observations in the datastream share the same feature of interest)
-
getSamplingFeatureID
- Specified by:
getSamplingFeatureID
in interfaceIDataStreamInfo
- Returns:
- A reference to the sampling feature associated to this datastream. (only provided if all observations in the datastream share the same sampling feature)
-
getValidTime
- Specified by:
getValidTime
in interfaceIDataStreamInfo
- Returns:
- The time of validity of this datastream. This corresponds to the time during which the corresponding system output actually existed.
-
getPhenomenonTimeRange
- Specified by:
getPhenomenonTimeRange
in interfaceIDataStreamInfo
- Returns:
- The range of phenomenon times of observations that are part of this datastream, or null if no observations have been recorded yet.
-
getPhenomenonTimeInterval
- Specified by:
getPhenomenonTimeInterval
in interfaceIDataStreamInfo
- Returns:
- The average interval between two observation phenomenon times, or null if unknown or highly variable.
-
getResultTimeRange
- Specified by:
getResultTimeRange
in interfaceIDataStreamInfo
- Returns:
- The range of result times of observations that are part of this datastream, or null if no observations have been recorded yet.
-
getResultTimeInterval
- Specified by:
getResultTimeInterval
in interfaceIDataStreamInfo
- Returns:
- The average interval between two observation result times, or null if unknown or highly variable.
-
hasDiscreteResultTimes
public boolean hasDiscreteResultTimes()- Specified by:
hasDiscreteResultTimes
in interfaceIDataStreamInfo
- Returns:
- True if this datastream contains observations acquired for a discrete number of result times (e.g. model runs, test campaigns, etc.)
-
getDiscreteResultTimes
- Specified by:
getDiscreteResultTimes
in interfaceIDataStreamInfo
- Returns:
- A map of discrete result times to the phenomenon time range of all
observations whose result was produced at each result time, or an empty map if
IDataStreamInfo.hasDiscreteResultTimes()
returns true.
-
getRecordStructure
- Specified by:
getRecordStructure
in interfaceIDataStreamInfo
- Returns:
- The data stream record structure
-
getRecordEncoding
- Specified by:
getRecordEncoding
in interfaceIDataStreamInfo
- Returns:
- The recommended encoding for the data stream
-