-
Notifications
You must be signed in to change notification settings - Fork 5
/
TimeSeriesRelatedSource.java
39 lines (26 loc) · 1.23 KB
/
TimeSeriesRelatedSource.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package edu.ie3.datamodel.io.source;
import edu.ie3.datamodel.exceptions.SourceException;
import edu.ie3.datamodel.io.factory.timeseries.SimpleTimeBasedValueData;
import edu.ie3.datamodel.io.factory.timeseries.TimeBasedSimpleValueFactory;
import edu.ie3.datamodel.models.timeseries.individual.IndividualTimeSeries;
import edu.ie3.datamodel.models.timeseries.individual.TimeBasedValue;
import edu.ie3.datamodel.models.value.Value;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
import java.util.function.Function;
public abstract class TimeSeriesRelatedSource<V extends Value> {
public abstract <V extends Value> IndividualTimeSeries<V> buildIndividualTimeSeries (
UUID timeSeriesUuid,
String specialPlace,
Function<Map<String, String>, Optional<TimeBasedValue<V>>> fieldToValueFunction
) throws SourceException;
public Optional<TimeBasedValue<V>> buildTimeBasedValue(
Map<String, String> fieldToValues,
Class<V> valueClass,
TimeBasedSimpleValueFactory<V> factory) {
SimpleTimeBasedValueData<V> factoryData =
new SimpleTimeBasedValueData<>(fieldToValues, valueClass);
return factory.get(factoryData);
}
}