-
Notifications
You must be signed in to change notification settings - Fork 5
/
TimeSeriesSourceClassDiagram.puml
73 lines (60 loc) · 3.09 KB
/
TimeSeriesSourceClassDiagram.puml
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
@startuml
note "Assuming all classes to implement \nthe abstract methods of their interfaces\n\n" as generalNotes
abstract class TimeSeriesSource<V extends Value> {
- Class<V> valueClass
- TimeBasedSimpleValueFactory<V> valueFactory
- {abstract} IndividualTimeSeries<V> getTimeSeries()
- {abstract} IndividualTimeSeries<V> getTimeSeries(ClosedInterval<ZonedDateTime>))
- {abstract} Optional<V> getValue(ZonedDateTime)
}
TimeSeriesSource <|-- CsvTimeSeriesSource
TimeSeriesSource <|-- SqlTimeSeriesSource
class CsvTimeSeriesSource<V extends Value> {
- IndividualTimeSeries<V> timeSeries
- CsvDataSource dataSource
+ {static} CsvTimeSeriesSource<? extends Value> getSource(\n\tString,\n\tString,\n\tEntityPersistenceNamingStrategy,\n\tCsvFileConnector.CsvIndividualTimeSeriesMetaInformation)
- CsvTimeSeriesSource(\n\tString,\n\tString,\n\tFileNamingStrategy,\n\tUUID,\n\tString,\n\tClass<V>,\n\tTimeBasedSimpleValueFactory<V>)
}
class SqlTimeSeriesSource<V extends Value> {
- SqlDataSource dataSource
- UUID timeSeriesUuid
- SqlTimeSeriesSource(SqlDataSource, UUID, Class<V>, TimeBasedSimpleValueFactory<V>)
- SqlTimeSeriesSource(SqlConnector, String, DatabaseNamingStrategy, UUID, Class<V>, TimeBasedSimpleValueFactory<V>)
+ {static} SqlTimeSeriesSource<? extends Value> createSource(SqlConnector, String, DatabaseNamingStrategy, IndividualTimeSeriesMetaInformation, String)
+ {static} SqlTimeSeriesSource<T> create(SqlConnector, String, DatabaseNamingStrategy, UUID, Class<T>, String)
}
abstract class TimeSeriesMappingSource {
- TimeSeriesMappingFactory mappingFactory
- Map<UUID, UUID> getMapping()
- Optional<UUID> getTimeSeriesUuid(UUID)
{abstract} Stream<Map<String, String>> getMappingSourceData()
}
TimeSeriesMappingSource <|-- CsvTimeSeriesMappingSource
TimeSeriesMappingSource <|-- SqlTimeSeriesMappingSource
class CsvTimeSeriesMappingSource {
- CsvDataSource dataSource
- CsvTimeSeriesMappingSource(String, String, FileNamingStrategy)
}
class SqlTimeSeriesMappingSource {
- EntityPersistenceNamingStrategy entityPersistenceNamingStrategy
- SqlDataSource dataSource
- SqlTimeSeriesMappingSource(SqlConnector, String, EntityPersistenceNamingStrategy)
}
interface TimeSeriesMetaInformationSource {
- {abstract} Map<UUID, IndividualTimeSeriesMetaInformation> getTimeSeriesMetaInformation()
- {abstract} Optional<IndividualTimeSeriesMetaInformation> getTimeSeriesMetaInformation(UUID)
}
TimeSeriesMetaInformationSource <|.. CsvTimeSeriesMetaInformationSource
TimeSeriesMetaInformationSource <|.. SqlTimeSeriesMetaInformationSource
class CsvTimeSeriesMetaInformationSource {
- CsvDataSource dataSource
- Map<UUID, CsvIndividualTimeSeriesMetaInformation> timeSeriesMetaInformation
- CsvTimeSeriesMetaInformationSource(String, String, FileNamingStrategy)
}
class SqlTimeSeriesMetaInformationSource {
- DatabaseNamingStrategy namingStrategy
- Map<UUID, IndividualTimeSeriesMetaInformation> mapping
- SqlDataSource dataSource
- SqlTimeSeriesMetaInformationSource(SqlConnector, String, DatabaseNamingStrategy)
}
@enduml