Package org.goplanit.network.layer
Class TransportLayerImpl
- java.lang.Object
-
- org.goplanit.utils.id.IdAbleImpl
-
- org.goplanit.utils.id.ExternalIdAbleImpl
-
- org.goplanit.network.layer.TransportLayerImpl
-
- All Implemented Interfaces:
Cloneable
,Comparable<IdAble>
,ExternalIdAble
,IdAble
,ManagedId
,TransportLayer
- Direct Known Subclasses:
TopologicalLayerImpl
public abstract class TransportLayerImpl extends ExternalIdAbleImpl implements TransportLayer
Implementation of TransportLayer interface with only barebones functionality to support ids and modes. Only meant as starting point for actual implementations that built on it- Author:
- markr
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<Long,Mode>
supportedModes
the modes supported by this layer-
Fields inherited from interface org.goplanit.utils.network.layer.TransportLayer
TRANSPORT_LAYER_ID_CLASS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
TransportLayerImpl(TransportLayerImpl transportLayerImpl)
Copy constructorprotected
TransportLayerImpl(IdGroupingToken tokenId)
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract TransportLayerImpl
clone()
Create a shallow copy of this entityprotected static long
generateId(IdGroupingToken tokenId)
generate unique node idCollection<Mode>
getSupportedModes()
collect the modes supported by this infrastructure layervoid
logInfo(String prefix)
invoked by entities inquiring about general information about the layer to display to userslong
recreateManagedIds(IdGroupingToken tokenId)
recreate the internal id(s) and set them including the Idable idboolean
registerSupportedMode(Mode supportedMode)
register a mode as supported by this layerboolean
registerSupportedModes(Collection<Mode> supportedModes)
register modes as supported by this layervoid
reset()
Reset the layer-
Methods inherited from class org.goplanit.utils.id.ExternalIdAbleImpl
getExternalId, getXmlId, setExternalId, setXmlId
-
Methods inherited from class org.goplanit.utils.id.IdAbleImpl
equals, generateAndSetId, generateId, getId, hashCode, setId
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.goplanit.utils.id.ExternalIdAble
getExternalId, getXmlId, hasExternalId, hasXmlId, setExternalId, setXmlId
-
Methods inherited from interface org.goplanit.utils.id.IdAble
compareTo, getId, idEquals, idHashCode
-
Methods inherited from interface org.goplanit.utils.id.ManagedId
resetChildManagedIdEntities
-
Methods inherited from interface org.goplanit.utils.network.layer.TransportLayer
getFirstSupportedMode, getIdClass, hasSupportedModes, isEmpty, supports, validate
-
-
-
-
Constructor Detail
-
TransportLayerImpl
protected TransportLayerImpl(IdGroupingToken tokenId)
Constructor- Parameters:
tokenId
- to generate id for this instance for
-
TransportLayerImpl
protected TransportLayerImpl(TransportLayerImpl transportLayerImpl)
Copy constructor- Parameters:
transportLayerImpl
- to copy
-
-
Method Detail
-
generateId
protected static long generateId(IdGroupingToken tokenId)
generate unique node id- Parameters:
tokenId
- contiguous id generation within this group for instances of this class- Returns:
- nodeId
-
registerSupportedMode
public boolean registerSupportedMode(Mode supportedMode)
register a mode as supported by this layer- Specified by:
registerSupportedMode
in interfaceTransportLayer
- Parameters:
supportedMode
- to support- Returns:
- true when successful false otherwise
-
registerSupportedModes
public boolean registerSupportedModes(Collection<Mode> supportedModes)
register modes as supported by this layer- Specified by:
registerSupportedModes
in interfaceTransportLayer
- Parameters:
supportedModes
- to support- Returns:
- true when successful false otherwise
-
getSupportedModes
public Collection<Mode> getSupportedModes()
collect the modes supported by this infrastructure layer- Specified by:
getSupportedModes
in interfaceTransportLayer
- Returns:
- the supported modes for at least some part of the available infrastructure
-
logInfo
public void logInfo(String prefix)
invoked by entities inquiring about general information about the layer to display to users- Specified by:
logInfo
in interfaceTransportLayer
- Parameters:
prefix
- optional prefix to include in each line of logging
-
recreateManagedIds
public long recreateManagedIds(IdGroupingToken tokenId)
recreate the internal id(s) and set them including the Idable id- Specified by:
recreateManagedIds
in interfaceManagedId
- Parameters:
tokenId
- to use- Returns:
- the updated internal id
-
reset
public void reset()
Reset the layer- Specified by:
reset
in interfaceTransportLayer
-
clone
public abstract TransportLayerImpl clone()
Create a shallow copy of this entity- Specified by:
clone
in interfaceIdAble
- Overrides:
clone
in classExternalIdAbleImpl
- Returns:
- shallow copy of entity
-
-