Package org.goplanit.zoning
Class OdZonesImpl
- java.lang.Object
-
- org.goplanit.utils.wrapper.MapWrapperImpl<Long,V>
-
- org.goplanit.utils.wrapper.LongMapWrapperImpl<E>
-
- org.goplanit.utils.id.ManagedIdEntitiesImpl<Z>
-
- org.goplanit.zoning.ZonesImpl<OdZone>
-
- org.goplanit.zoning.OdZonesImpl
-
- All Implemented Interfaces:
Iterable<OdZone>
,ManagedIdEntities<OdZone>
,LongMapWrapper<OdZone>
,MapWrapper<Long,OdZone>
,OdZones
,Zones<OdZone>
public class OdZonesImpl extends ZonesImpl<OdZone> implements OdZones
implementation of the Zones <T> interface for Od zones- Author:
- markr
-
-
Field Summary
-
Fields inherited from class org.goplanit.utils.id.ManagedIdEntitiesImpl
managedIdClass
-
-
Constructor Summary
Constructors Constructor Description OdZonesImpl(IdGroupingToken groupId)
ConstructorOdZonesImpl(OdZoneFactory odZoneFactory)
ConstructorOdZonesImpl(OdZonesImpl other, boolean deepCopy, BiConsumer<OdZone,OdZone> 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 OdZonesImpl
deepClone()
Deep clone implementationOdZonesImpl
deepCloneWithMapping(BiConsumer<OdZone,OdZone> mapper)
Deep clone implementation where the mapping for its internal copies is captured by the provided mapperOdZoneFactory
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 indicatedOdZonesImpl
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.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 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.OdZones
forEachOriginDestination
-
Methods inherited from interface org.goplanit.utils.zoning.Zones
getByXmlId, getNumberOfCentroids
-
-
-
-
Constructor Detail
-
OdZonesImpl
public OdZonesImpl(IdGroupingToken groupId)
Constructor- Parameters:
groupId
- to use for creating ids for instances
-
OdZonesImpl
public OdZonesImpl(OdZoneFactory odZoneFactory)
Constructor- Parameters:
odZoneFactory
- the factory to use
-
OdZonesImpl
public OdZonesImpl(OdZonesImpl other, boolean deepCopy, BiConsumer<OdZone,OdZone> 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 OdZoneFactory getFactory()
Factory to create instance of managed id entity (for this container class)- Specified by:
getFactory
in interfaceManagedIdEntities<OdZone>
- Specified by:
getFactory
in interfaceOdZones
- 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<OdZone>
- Overrides:
recreateIds
in classManagedIdEntitiesImpl<OdZone>
- 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 OdZonesImpl 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 interfaceManagedIdEntities<OdZone>
- Specified by:
shallowClone
in interfaceMapWrapper<Long,OdZone>
- Specified by:
shallowClone
in interfaceOdZones
- Specified by:
shallowClone
in interfaceZones<OdZone>
- Specified by:
shallowClone
in classZonesImpl<OdZone>
- Returns:
- copy
-
deepClone
public OdZonesImpl deepClone()
Deep clone implementation
-
deepCloneWithMapping
public OdZonesImpl deepCloneWithMapping(BiConsumer<OdZone,OdZone> mapper)
Deep clone implementation where the mapping for its internal copies is captured by the provided mapper- Specified by:
deepCloneWithMapping
in interfaceManagedIdEntities<OdZone>
- Specified by:
deepCloneWithMapping
in interfaceOdZones
- Specified by:
deepCloneWithMapping
in interfaceZones<OdZone>
- Specified by:
deepCloneWithMapping
in classZonesImpl<OdZone>
- Parameters:
mapper
- to apply to each mapping between original and copy- Returns:
- copy
-
-