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>supportedModesthe 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 protectedTransportLayerImpl(TransportLayerImpl transportLayerImpl)Copy constructorprotectedTransportLayerImpl(IdGroupingToken tokenId)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract TransportLayerImplclone()Create a shallow copy of this entityprotected static longgenerateId(IdGroupingToken tokenId)generate unique node idCollection<Mode>getSupportedModes()collect the modes supported by this infrastructure layervoidlogInfo(String prefix)invoked by entities inquiring about general information about the layer to display to userslongrecreateManagedIds(IdGroupingToken tokenId)recreate the internal id(s) and set them including the Idable idbooleanregisterSupportedMode(Mode supportedMode)register a mode as supported by this layerbooleanregisterSupportedModes(Collection<Mode> supportedModes)register modes as supported by this layervoidreset()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:
registerSupportedModein 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:
registerSupportedModesin 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:
getSupportedModesin 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:
logInfoin 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:
recreateManagedIdsin interfaceManagedId- Parameters:
tokenId- to use- Returns:
- the updated internal id
-
reset
public void reset()
Reset the layer- Specified by:
resetin interfaceTransportLayer
-
clone
public abstract TransportLayerImpl clone()
Create a shallow copy of this entity- Specified by:
clonein interfaceIdAble- Overrides:
clonein classExternalIdAbleImpl- Returns:
- shallow copy of entity
-
-