Package org.goplanit.network.layers
Class ServiceNetworkLayersImpl
- java.lang.Object
-
- org.goplanit.utils.wrapper.MapWrapperImpl<Long,V>
-
- org.goplanit.utils.wrapper.LongMapWrapperImpl<E>
-
- org.goplanit.utils.id.ManagedIdEntitiesImpl<T>
-
- org.goplanit.network.layers.TransportLayersImpl<T>
-
- org.goplanit.network.layers.TopologicalLayersImpl<ServiceNetworkLayer>
-
- org.goplanit.network.layers.ServiceNetworkLayersImpl
-
- All Implemented Interfaces:
Iterable<ServiceNetworkLayer>,ManagedIdEntities<ServiceNetworkLayer>,NetworkLayers<ServiceNetworkLayer>,ServiceNetworkLayers,TopologicalLayers<ServiceNetworkLayer>,LongMapWrapper<ServiceNetworkLayer>,MapWrapper<Long,ServiceNetworkLayer>
public class ServiceNetworkLayersImpl extends TopologicalLayersImpl<ServiceNetworkLayer> implements ServiceNetworkLayers
Implementation of container and factory to manage service network layers. In this network type, all layers are of the ServiceNetworkLayer type- Author:
- markr
-
-
Field Summary
Fields Modifier and Type Field Description protected ServiceNetworkLayerFactoryfactoryfactory to use for creating layer instances-
Fields inherited from class org.goplanit.utils.id.ManagedIdEntitiesImpl
managedIdClass
-
-
Constructor Summary
Constructors Constructor Description ServiceNetworkLayersImpl(ServiceNetworkLayersImpl other, boolean deepCopy, BiConsumer<ServiceNetworkLayer,ServiceNetworkLayer> mapper)Copy constructor, also creates new factory with this as its underlying containerServiceNetworkLayersImpl(IdGroupingToken idToken, MacroscopicNetwork parentNetwork)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ServiceNetworkLayersImpldeepClone()Deep clone implementationServiceNetworkLayersImpldeepCloneWithMapping(BiConsumer<ServiceNetworkLayer,ServiceNetworkLayer> mapper)Deep clone implementation where the mapping for its internal copies is captured by the provided mapperServiceNetworkLayerFactorygetFactory()Factory to create instance of managed id entity (for this container class)MacroscopicNetworkgetParentNetwork()The parent networkServiceNetworkLayersImplshallowClone()Each map wrapper should be cloneable where the contents are references of the original where possible but the underlying map itself is newly created-
Methods inherited from class org.goplanit.network.layers.TransportLayersImpl
get, getByXmlId, getIdToken
-
Methods inherited from class org.goplanit.utils.id.ManagedIdEntitiesImpl
getManagedIdClass, recreateIds, reset, updateIdMapping
-
Methods inherited from class org.goplanit.utils.wrapper.LongMapWrapperImpl
containsKey, get, remove
-
Methods inherited from class org.goplanit.utils.wrapper.MapWrapperImpl
clear, containsValue, createEmptyInstance, firstMatch, get, getKeyByValue, getMap, getValueToKey, isEmpty, iterator, register, remove, removeIf, setMap, size, toCollection, valuesAsNewSet
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
Methods inherited from interface org.goplanit.utils.wrapper.LongMapWrapper
get, remove
-
Methods inherited from interface org.goplanit.utils.id.ManagedIdEntities
containsKey, getManagedIdClass, groupBy, recreateIds, recreateIds, reset, streamSortedBy
-
Methods inherited from interface org.goplanit.utils.wrapper.MapWrapper
addAll, clear, containsValue, firstMatch, forEachIn, get, getFirst, getKeyByValue, isEmpty, register, remove, removeAll, removeIf, size, stream, streamSorted, toCollection, toMap, valuesAsNewSet
-
Methods inherited from interface org.goplanit.utils.network.layers.NetworkLayers
get, get, getByXmlId, getLayersOfType, getSupportedModes, isEachLayerEmpty
-
-
-
-
Field Detail
-
factory
protected final ServiceNetworkLayerFactory factory
factory to use for creating layer instances
-
-
Constructor Detail
-
ServiceNetworkLayersImpl
public ServiceNetworkLayersImpl(IdGroupingToken idToken, MacroscopicNetwork parentNetwork)
Constructor- Parameters:
idToken- for id generationparentNetwork- the layers are built upon
-
ServiceNetworkLayersImpl
public ServiceNetworkLayersImpl(ServiceNetworkLayersImpl other, boolean deepCopy, BiConsumer<ServiceNetworkLayer,ServiceNetworkLayer> mapper)
Copy constructor, also creates new factory with this as its underlying container- Parameters:
other- to copydeepCopy- when true, create a deep copy, shallow copy otherwisemapper- apply to each mapping from original to copy
-
-
Method Detail
-
getParentNetwork
public MacroscopicNetwork getParentNetwork()
The parent network- Returns:
- parent network
-
shallowClone
public ServiceNetworkLayersImpl shallowClone()
Each map wrapper should be cloneable where the contents are references of the original where possible but the underlying map itself is newly created- Specified by:
shallowClonein interfaceManagedIdEntities<ServiceNetworkLayer>- Specified by:
shallowClonein interfaceMapWrapper<Long,ServiceNetworkLayer>- Specified by:
shallowClonein interfaceNetworkLayers<ServiceNetworkLayer>- Specified by:
shallowClonein interfaceServiceNetworkLayers- Specified by:
shallowClonein interfaceTopologicalLayers<ServiceNetworkLayer>- Specified by:
shallowClonein classTopologicalLayersImpl<ServiceNetworkLayer>- Returns:
- copy
-
deepClone
public ServiceNetworkLayersImpl deepClone()
Deep clone implementation- Specified by:
deepClonein interfaceManagedIdEntities<ServiceNetworkLayer>- Specified by:
deepClonein interfaceNetworkLayers<ServiceNetworkLayer>- Specified by:
deepClonein interfaceServiceNetworkLayers- Specified by:
deepClonein interfaceTopologicalLayers<ServiceNetworkLayer>- Specified by:
deepClonein classTopologicalLayersImpl<ServiceNetworkLayer>- Returns:
- deep copy of entities
-
deepCloneWithMapping
public ServiceNetworkLayersImpl deepCloneWithMapping(BiConsumer<ServiceNetworkLayer,ServiceNetworkLayer> mapper)
Deep clone implementation where the mapping for its internal copies is captured by the provided mapper- Specified by:
deepCloneWithMappingin interfaceManagedIdEntities<ServiceNetworkLayer>- Specified by:
deepCloneWithMappingin interfaceNetworkLayers<ServiceNetworkLayer>- Specified by:
deepCloneWithMappingin classTopologicalLayersImpl<ServiceNetworkLayer>- Parameters:
mapper- to apply to each mapping between original and copy- Returns:
- copy
-
getFactory
public ServiceNetworkLayerFactory getFactory()
Factory to create instance of managed id entity (for this container class)- Specified by:
getFactoryin interfaceManagedIdEntities<ServiceNetworkLayer>- Specified by:
getFactoryin interfaceServiceNetworkLayers- Returns:
- entity factory
-
-