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 classstatic classDataStreamInfo.DataStreamInfoBuilder<B extends DataStreamInfo.DataStreamInfoBuilder<B,T>, T extends DataStreamInfo> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected FeatureIdprotected Stringprotected FeatureIdprotected Stringprotected Durationprotected FeatureIdprotected DataEncodingprotected DataComponentprotected Durationprotected FeatureIdprotected FeatureIdprotected TimeExtent -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
getDescriptionin interfaceIResource- Returns:
- A short description of the resource
-
getSystemID
- Specified by:
getSystemIDin interfaceIDataStreamInfo- Returns:
- The identifier of the system that produces this data stream
-
getOutputName
- Specified by:
getOutputNamein interfaceIDataStreamInfo- Returns:
- The name of the system output that is/was the source of this data stream
-
getProcedureID
- Specified by:
getProcedureIDin 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:
getDeploymentIDin 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:
getFeatureOfInterestIDin 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:
getSamplingFeatureIDin 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:
getValidTimein 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:
getPhenomenonTimeRangein 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:
getPhenomenonTimeIntervalin interfaceIDataStreamInfo- Returns:
- The average interval between two observation phenomenon times, or null if unknown or highly variable.
-
getResultTimeRange
- Specified by:
getResultTimeRangein 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:
getResultTimeIntervalin interfaceIDataStreamInfo- Returns:
- The average interval between two observation result times, or null if unknown or highly variable.
-
hasDiscreteResultTimes
public boolean hasDiscreteResultTimes()- Specified by:
hasDiscreteResultTimesin 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:
getDiscreteResultTimesin 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:
getRecordStructurein interfaceIDataStreamInfo- Returns:
- The data stream record structure
-
getRecordEncoding
- Specified by:
getRecordEncodingin interfaceIDataStreamInfo- Returns:
- The recommended encoding for the data stream
-