Package org.goplanit.zoning
Class DirectedConnectoidsImpl
- java.lang.Object
-
- org.goplanit.utils.wrapper.MapWrapperImpl<Long,V>
-
- org.goplanit.utils.wrapper.LongMapWrapperImpl<E>
-
- org.goplanit.utils.id.ManagedIdEntitiesImpl<T>
-
- org.goplanit.zoning.ConnectoidsImpl<DirectedConnectoid>
-
- org.goplanit.zoning.DirectedConnectoidsImpl
-
- All Implemented Interfaces:
Iterable<DirectedConnectoid>
,EventListener
,EventListener
,ManagedIdEntities<DirectedConnectoid>
,LongMapWrapper<DirectedConnectoid>
,MapWrapper<Long,DirectedConnectoid>
,Connectoids<DirectedConnectoid>
,DirectedConnectoids
,ZoningModifierListener
public class DirectedConnectoidsImpl extends ConnectoidsImpl<DirectedConnectoid> implements DirectedConnectoids
Implementation of directed connectoids class- Author:
- markr
-
-
Field Summary
-
Fields inherited from class org.goplanit.utils.id.ManagedIdEntitiesImpl
managedIdClass
-
Fields inherited from interface org.goplanit.utils.zoning.DirectedConnectoids
LOGGER
-
-
Constructor Summary
Constructors Constructor Description DirectedConnectoidsImpl(IdGroupingToken groupId)
ConstructorDirectedConnectoidsImpl(IdGroupingToken groupId, DirectedConnectoidFactory directedConnectoidFactory)
ConstructorDirectedConnectoidsImpl(DirectedConnectoidsImpl other, boolean deepCopy, BiConsumer<DirectedConnectoid,DirectedConnectoid> mapper)
Copy constructor, also creates new factory with this as its underlying container
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DirectedConnectoidsImpl
deepClone()
Deep clone implementationDirectedConnectoidsImpl
deepCloneWithMapping(BiConsumer<DirectedConnectoid,DirectedConnectoid> mapper)
Deep clone implementation where the mapping for its internal copies is captured by the provided mapperDirectedConnectoidFactory
getFactory()
Factory to create instance of managed id entity (for this container class)void
recreateIds(boolean resetManagedIdClass)
Recreate the ids for all registered entities with or without resetting, this includes child managed ids, i.e., nested magedidentities containers if so indicatedDirectedConnectoidsImpl
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-
Methods inherited from class org.goplanit.zoning.ConnectoidsImpl
createIndexByAccessZone, getKnownSupportedEventTypes, onZoningModifierEvent, updateConnectoidAccessZoneIdReferences
-
Methods inherited from class org.goplanit.utils.id.ManagedIdEntitiesImpl
getManagedIdClass, 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 org.goplanit.utils.zoning.Connectoids
createIndexByAccessZone
-
Methods inherited from interface org.goplanit.utils.zoning.DirectedConnectoids
groupByPhysicalLayerAndCustomKey
-
Methods inherited from interface org.goplanit.utils.event.EventListener
getKnownSupportedEventTypes, hasKnownSupportedEventTypes
-
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, 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.zoning.modifier.event.ZoningModifierListener
onZoningModifierEvent
-
-
-
-
Constructor Detail
-
DirectedConnectoidsImpl
public DirectedConnectoidsImpl(IdGroupingToken groupId)
Constructor- Parameters:
groupId
- to use for creating ids for instances
-
DirectedConnectoidsImpl
public DirectedConnectoidsImpl(IdGroupingToken groupId, DirectedConnectoidFactory directedConnectoidFactory)
Constructor- Parameters:
groupId
- to use for creating ids for instancesdirectedConnectoidFactory
- the factory to use
-
DirectedConnectoidsImpl
public DirectedConnectoidsImpl(DirectedConnectoidsImpl other, boolean deepCopy, BiConsumer<DirectedConnectoid,DirectedConnectoid> 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
- to use for tracking mapping between original and copied entity (may be null)
-
-
Method Detail
-
getFactory
public DirectedConnectoidFactory getFactory()
Factory to create instance of managed id entity (for this container class)- Specified by:
getFactory
in interfaceDirectedConnectoids
- Specified by:
getFactory
in interfaceManagedIdEntities<DirectedConnectoid>
- Returns:
- entity factory
-
recreateIds
public void recreateIds(boolean resetManagedIdClass)
Recreate the ids for all registered entities with or without resetting, this includes child managed ids, i.e., nested magedidentities containers if so indicated- Specified by:
recreateIds
in interfaceManagedIdEntities<DirectedConnectoid>
- Overrides:
recreateIds
in classManagedIdEntitiesImpl<DirectedConnectoid>
- Parameters:
resetManagedIdClass
- when true we reset the managedId's counter to zero (via its id class) before recreating the ids, otherwise we simply recreate the managed id by starting with the next available id without resetting
-
shallowClone
public DirectedConnectoidsImpl 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:
shallowClone
in interfaceConnectoids<DirectedConnectoid>
- Specified by:
shallowClone
in interfaceDirectedConnectoids
- Specified by:
shallowClone
in interfaceManagedIdEntities<DirectedConnectoid>
- Specified by:
shallowClone
in interfaceMapWrapper<Long,DirectedConnectoid>
- Specified by:
shallowClone
in classConnectoidsImpl<DirectedConnectoid>
- Returns:
- copy
-
deepClone
public DirectedConnectoidsImpl deepClone()
Deep clone implementation- Specified by:
deepClone
in interfaceConnectoids<DirectedConnectoid>
- Specified by:
deepClone
in interfaceDirectedConnectoids
- Specified by:
deepClone
in interfaceManagedIdEntities<DirectedConnectoid>
- Specified by:
deepClone
in classConnectoidsImpl<DirectedConnectoid>
- Returns:
- deep copy of entities
-
deepCloneWithMapping
public DirectedConnectoidsImpl deepCloneWithMapping(BiConsumer<DirectedConnectoid,DirectedConnectoid> mapper)
Deep clone implementation where the mapping for its internal copies is captured by the provided mapper- Specified by:
deepCloneWithMapping
in interfaceConnectoids<DirectedConnectoid>
- Specified by:
deepCloneWithMapping
in interfaceDirectedConnectoids
- Specified by:
deepCloneWithMapping
in interfaceManagedIdEntities<DirectedConnectoid>
- Specified by:
deepCloneWithMapping
in classConnectoidsImpl<DirectedConnectoid>
- Parameters:
mapper
- to apply to each mapping between original and copy- Returns:
- copy
-
-