Class CsvSystemParticipantSource
- All Implemented Interfaces:
DataSource,SystemParticipantSource
SystemParticipantInput as
well as SystemParticipants container from .csv files.
This source is not buffered which means each call on a getter method always tries to read all data is necessary to return the requested objects in a hierarchical cascading way.
If performance is an issue, it is recommended to read the data cascading starting with reading nodes and then using the getters with arguments to avoid reading the same data multiple times.
The resulting sets are always unique on object and UUID base (with distinct UUIDs).
- Since:
- 03.04.20
-
Field Summary
Fields inherited from class edu.ie3.datamodel.io.source.csv.CsvDataSource
connector, csvSep, FIELDS_TO_VALUES_MAP, log, NODE, NODE_A, NODE_B, OPERATOR, TYPE -
Constructor Summary
ConstructorsConstructorDescriptionCsvSystemParticipantSource(String csvSep, String participantsFolderPath, FileNamingStrategy fileNamingStrategy, TypeSource typeSource, ThermalSource thermalSource, RawGridSource rawGridSource) -
Method Summary
Modifier and TypeMethodDescriptionReturns a unique set ofBmInputinstances.getBmPlants(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<BmTypeInput> types) Returns a set ofBmInputinstances.Returns a unique set ofChpInputinstances.getChpPlants(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<ChpTypeInput> types, Set<ThermalBusInput> thermalBuses, Set<ThermalStorageInput> thermalStorages) Returns a set ofChpInputinstances.Returns a unique set ofEmInputinstances.getEmSystems(Set<NodeInput> nodes, Set<OperatorInput> operators) This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedEmInputwhich has to be checked manually, asEmInput.equals(Object)is NOT restricted on the uuid ofEmInput.getEvCS()Returns a unique set ofEvcsInputinstances.getEvCS(Set<NodeInput> nodes, Set<OperatorInput> operators) Returns a set ofEvcsInputinstances.getEvs()Returns a unique set ofEvInputinstances.getEvs(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<EvTypeInput> types) Returns a set ofEvInputinstances.Returns a unique set ofFixedFeedInInputinstances.getFixedFeedIns(Set<NodeInput> nodes, Set<OperatorInput> operators) Returns a set ofFixedFeedInInputinstances.Returns a unique set ofHpInputinstances.getHeatPumps(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<HpTypeInput> types, Set<ThermalBusInput> thermalBuses) Returns a set ofHpInputinstances.getLoads()Returns a unique set ofLoadInputinstances.getLoads(Set<NodeInput> nodes, Set<OperatorInput> operators) Returns a set ofLoadInputinstances.Returns a unique set ofPvInputinstances.getPvPlants(Set<NodeInput> nodes, Set<OperatorInput> operators) Returns a set ofPvInputinstances.Returns a unique set ofStorageInputinstances.getStorages(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<StorageTypeInput> types) Returns a set ofStorageInputinstances.Should return either a consistent instance ofSystemParticipantswrapped inOptionalor an emptyOptional.Returns a unique set ofWecInputinstances.getWecPlants(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<WecTypeInput> types) Returns a set ofWecInputinstances.Methods inherited from class edu.ie3.datamodel.io.source.csv.CsvDataSource
assetInputEntityDataStream, assetInputEntityDataStream, buildStreamWithFieldsToAttributesMap, buildStreamWithFieldsToAttributesMap, csvRowFieldValueMapping, distinctRowsWithLog, findFirstEntityByUuid, getAssetType, isPresentCollectIfNot, logSkippingWarning, nodeAssetEntityStream, nodeAssetInputEntityDataStream, parseCsvRow, printInvalidElementInformation, saveMapGet, simpleEntityDataStream
-
Constructor Details
-
CsvSystemParticipantSource
public CsvSystemParticipantSource(String csvSep, String participantsFolderPath, FileNamingStrategy fileNamingStrategy, TypeSource typeSource, ThermalSource thermalSource, RawGridSource rawGridSource)
-
-
Method Details
-
getSystemParticipants
Should return either a consistent instance ofSystemParticipantswrapped inOptionalor an emptyOptional. The decision to useOptionalinstead of returning theSystemParticipantsinstance directly is motivated by the fact, that aSystemParticipantsis a container instance that depends on several other entities. Without being complete, it is useless for further processing.Hence, whenever at least one entity
SystemParticipantsdepends on cannot be provided,Optional.empty()should be returned and extensive logging should provide enough information to debug the error and fix the persistent data that has been failed to processed.Furthermore, it is expected, that the specific implementation of this method ensures not only the completeness of the resulting
SystemParticipantsinstance, but also its validity e.g. in the sense that not duplicate UUIDs exist within all entities contained in the returning instance.- Specified by:
getSystemParticipantsin interfaceSystemParticipantSource- Returns:
- either a valid, complete
SystemParticipantsoptional orOptional.empty()
-
getFixedFeedIns
Returns a unique set ofFixedFeedInInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedFixedFeedInInputwhich has to be checked manually, asFixedFeedInInput.equals(Object)is NOT restricted on the uuid ofFixedFeedInInput.- Specified by:
getFixedFeedInsin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
FixedFeedInInputentities
-
getFixedFeedIns
Returns a set ofFixedFeedInInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedFixedFeedInInputwhich has to be checked manually, asFixedFeedInInput.equals(Object)is NOT restricted on the uuid ofFixedFeedInInput.In contrast to
SystemParticipantSource.getFixedFeedIns()this interface provides the ability to pass in an already existing set ofNodeInputandOperatorInputentities, theFixedFeedInInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If the set of
NodeInputentities is not exhaustive for all availableFixedFeedInInputentities (e.g. aNodeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality), but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getFixedFeedInsin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instances- Returns:
- a set of object and uuid unique
FixedFeedInInputentities
-
getPvPlants
Returns a unique set ofPvInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedPvInputwhich has to be checked manually, asPvInput.equals(Object)is NOT restricted on the uuid ofPvInput.- Specified by:
getPvPlantsin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
PvInputentities
-
getPvPlants
Returns a set ofPvInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedPvInputwhich has to be checked manually, asPvInput.equals(Object)is NOT restricted on the uuid ofPvInput.In contrast to
SystemParticipantSource.getPvPlants()this interface provides the ability to pass in an already existing set ofNodeInputandOperatorInputentities, thePvInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If the set of
NodeInputentities is not exhaustive for all availablePvInputentities (e.g. aNodeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality), but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getPvPlantsin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instances- Returns:
- a set of object and uuid unique
PvInputentities
-
getLoads
Returns a unique set ofLoadInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedLoadInputwhich has to be checked manually, asLoadInput.equals(Object)is NOT restricted on the uuid ofLoadInput.- Specified by:
getLoadsin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
LoadInputentities
-
getLoads
Returns a set ofLoadInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedLoadInputwhich has to be checked manually, asLoadInput.equals(Object)is NOT restricted on the uuid ofLoadInput.In contrast to
SystemParticipantSource.getLoads()this interface provides the ability to pass in an already existing set ofNodeInputandOperatorInputentities, theLoadInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If the set of
NodeInputentities is not exhaustive for all availableLoadInputentities (e.g. aNodeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality), but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getLoadsin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instances- Returns:
- a set of object and uuid unique
LoadInputentities
-
getEvCS
Returns a unique set ofEvcsInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedEvcsInputwhich has to be checked manually, asEvcsInput.equals(Object)is NOT restricted on the uuid ofEvcsInput.- Specified by:
getEvCSin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
EvcsInputentities
-
getEvCS
Returns a set ofEvcsInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedEvcsInputwhich has to be checked manually, asEvcsInput.equals(Object)is NOT restricted on the uuid ofEvcsInput.In contrast to
SystemParticipantSource.getEvCS()this interface provides the ability to pass in an already existing set ofNodeInputandOperatorInputentities, theEvcsInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If the set of
NodeInputentities is not exhaustive for all availableEvcsInputentities (e.g. aNodeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality), but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getEvCSin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instances- Returns:
- a set of object and uuid unique
EvcsInputentities
-
getBmPlants
Returns a unique set ofBmInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedBmInputwhich has to be checked manually, asBmInput.equals(Object)is NOT restricted on the uuid ofBmInput.- Specified by:
getBmPlantsin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
BmInputentities
-
getBmPlants
public Set<BmInput> getBmPlants(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<BmTypeInput> types) Returns a set ofBmInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedBmInputwhich has to be checked manually, asBmInput.equals(Object)is NOT restricted on the uuid ofBmInput.In contrast to
SystemParticipantSource.getBmPlants()this interface provides the ability to pass in an already existing set ofNodeInput,BmTypeInputandOperatorInputentities, theBmInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If one of the sets of
NodeInputorBmTypeInputentities is not exhaustive for all availableBmInputentities (e.g. aNodeInputorBmTypeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality) but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getBmPlantsin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instancestypes- a set of object and uuid uniqueBmTypeInputentities- Returns:
- a set of object and uuid unique
BmInputentities
-
getStorages
Returns a unique set ofStorageInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedStorageInputwhich has to be checked manually, asStorageInput.equals(Object)is NOT restricted on the uuid ofStorageInput.- Specified by:
getStoragesin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
StorageInputentities
-
getStorages
public Set<StorageInput> getStorages(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<StorageTypeInput> types) Returns a set ofStorageInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedStorageInputwhich has to be checked manually, asStorageInput.equals(Object)is NOT restricted on the uuid ofStorageInput.In contrast to
SystemParticipantSource.getStorages()this interface provides the ability to pass in an already existing set ofNodeInput,StorageTypeInputandOperatorInputentities, theStorageInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If one of the sets of
NodeInputorStorageTypeInputentities is not exhaustive for all availableStorageInputentities (e.g. aNodeInputorStorageTypeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality) but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getStoragesin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instancestypes- a set of object and uuid uniqueStorageTypeInputentities- Returns:
- a set of object and uuid unique
StorageInputentities
-
getWecPlants
Returns a unique set ofWecInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedWecInputwhich has to be checked manually, asWecInput.equals(Object)is NOT restricted on the uuid ofWecInput.- Specified by:
getWecPlantsin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
WecInputentities
-
getWecPlants
public Set<WecInput> getWecPlants(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<WecTypeInput> types) Returns a set ofWecInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedWecInputwhich has to be checked manually, asWecInput.equals(Object)is NOT restricted on the uuid ofWecInput.In contrast to
SystemParticipantSource.getWecPlants()this interface provides the ability to pass in an already existing set ofNodeInput,WecTypeInputandOperatorInputentities, theWecInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If one of the sets of
NodeInputorWecTypeInputentities is not exhaustive for all availableWecInputentities (e.g. aNodeInputorWecTypeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality) but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getWecPlantsin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instancestypes- a set of object and uuid uniqueWecTypeInputentities- Returns:
- a set of object and uuid unique
WecInputentities
-
getEvs
Returns a unique set ofEvInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedEvInputwhich has to be checked manually, asEvInput.equals(Object)is NOT restricted on the uuid ofEvInput.- Specified by:
getEvsin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
EvInputentities
-
getEvs
public Set<EvInput> getEvs(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<EvTypeInput> types) Returns a set ofEvInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedEvInputwhich has to be checked manually, asEvInput.equals(Object)is NOT restricted on the uuid ofEvInput.In contrast to
SystemParticipantSource.getEvs()this interface provides the ability to pass in an already existing set ofNodeInput,EvTypeInputandOperatorInputentities, theEvInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If one of the sets of
NodeInputorEvTypeInputentities is not exhaustive for all availableEvInputentities (e.g. aNodeInputorEvTypeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality) but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getEvsin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instancestypes- a set of object and uuid uniqueEvTypeInputentities- Returns:
- a set of object and uuid unique
EvInputentities
-
getChpPlants
Returns a unique set ofChpInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedChpInputwhich has to be checked manually, asChpInput.equals(Object)is NOT restricted on the uuid ofChpInput.- Specified by:
getChpPlantsin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
ChpInputentities
-
getChpPlants
public Set<ChpInput> getChpPlants(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<ChpTypeInput> types, Set<ThermalBusInput> thermalBuses, Set<ThermalStorageInput> thermalStorages) Returns a set ofChpInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedChpInputwhich has to be checked manually, asChpInput.equals(Object)is NOT restricted on the uuid ofChpInput.In contrast to
SystemParticipantSource.getChpPlants()this interface provides the ability to pass in an already existing set ofNodeInput,ChpTypeInput,ThermalBusInput,ThermalStorageInputandOperatorInputentities, theChpInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If one of the sets of
NodeInput,ThermalBusInput,ThermalStorageInputorChpTypeInputentities is not exhaustive for all availableChpInputentities (e.g. aNodeInputorChpTypeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality) but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getChpPlantsin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instancestypes- a set of object and uuid uniqueChpTypeInputentitiesthermalBuses- a set of object and uuid uniqueThermalBusInputentitiesthermalStorages- a set of object and uuid uniqueThermalStorageInputentities- Returns:
- a set of object and uuid unique
ChpInputentities
-
getHeatPumps
Returns a unique set ofHpInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedHpInputwhich has to be checked manually, asHpInput.equals(Object)is NOT restricted on the uuid ofHpInput.- Specified by:
getHeatPumpsin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
HpInputentities
-
getHeatPumps
public Set<HpInput> getHeatPumps(Set<NodeInput> nodes, Set<OperatorInput> operators, Set<HpTypeInput> types, Set<ThermalBusInput> thermalBuses) Returns a set ofHpInputinstances. This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedHpInputwhich has to be checked manually, asHpInput.equals(Object)is NOT restricted on the uuid ofHpInput.In contrast to
SystemParticipantSource.getHeatPumps()this interface provides the ability to pass in an already existing set ofNodeInput,HpTypeInput,ThermalBusInput,ThermalStorageInputandOperatorInputentities, theHpInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If one of the sets of
NodeInput,ThermalBusInputorHpTypeInputentities is not exhaustive for all availableHpInputentities (e.g. aNodeInputorHpTypeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality) but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getHeatPumpsin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instancestypes- a set of object and uuid uniqueHpTypeInputentitiesthermalBuses- a set of object and uuid uniqueThermalBusInputentities- Returns:
- a set of object and uuid unique
HpInputentities
-
getEmSystems
Description copied from interface:SystemParticipantSourceReturns a unique set ofEmInputinstances.This set has to be unique in the sense of object uniqueness but also in the sense of
UUIDuniqueness of the providedEmInputwhich has to be checked manually, asEmInput.equals(Object)is NOT restricted on the uuid ofEmInput.- Specified by:
getEmSystemsin interfaceSystemParticipantSource- Returns:
- a set of object and uuid unique
EmInputentities
-
getEmSystems
This set has to be unique in the sense of object uniqueness but also in the sense ofUUIDuniqueness of the providedEmInputwhich has to be checked manually, asEmInput.equals(Object)is NOT restricted on the uuid ofEmInput.In contrast to
SystemParticipantSource.getHeatPumps()this interface provides the ability to pass in an already existing set ofNodeInputandOperatorInputentities, theEmInputinstances depend on. Doing so, already loaded nodes can be recycled to improve performance and prevent unnecessary loading operations.If something fails during the creation process it's up to the concrete implementation of an empty set or a set with all entities that has been able to be build is returned.
If the set of
NodeInputentities is not exhaustive for all availableLoadInputentities (e.g. aNodeInputentity is missing) or if an error during the building process occurs, the entity that misses something will be skipped (which can be seen as a filtering functionality), but all entities that are able to be built will be returned anyway and the elements that couldn't have been built are logged.If the set with
OperatorInputis not exhaustive, the corresponding operator is set toOperatorInput.NO_OPERATOR_ASSIGNED- Specified by:
getEmSystemsin interfaceSystemParticipantSource- Parameters:
nodes- a set of object and uuid uniqueNodeInputentitiesoperators- a set of object and uuid uniqueOperatorInputthat should be used for the returning instances- Returns:
- a set of object and uuid unique
EmInputentities
-