Package org.goplanit.network.virtual
Class ConnectoidSegmentImpl
- java.lang.Object
-
- org.goplanit.utils.id.IdAbleImpl
-
- org.goplanit.utils.id.ExternalIdAbleImpl
-
- org.goplanit.graph.GraphEntityImpl
-
- org.goplanit.graph.directed.EdgeSegmentImpl
-
- org.goplanit.network.virtual.ConnectoidSegmentImpl
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<IdAble>
,EdgeSegment
,GraphEntity
,ExternalIdAble
,IdAble
,ManagedId
,ConnectoidSegment
,PcuCapacitated
public class ConnectoidSegmentImpl extends EdgeSegmentImpl implements ConnectoidSegment
The link segment that connects a zone to the physical network is not a physical link segment. However in order to be able to efficiently conduct path searches this connection needs to materialise in a similar form. to do this we construct ConnectoidLinkSegment instances which are a link segment, but do not have any physical characteristics apart from connecting a zone (via its centroid) to a physical node. these segments are NOT registered on the network because they are not part of the physical network, instead they are registered on the adopted zoning. they are however injected/connected to the connectoid reference nodes in the network as link segments to provide the above mentioned interface- Author:
- markr
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.goplanit.utils.network.virtual.ConnectoidSegment
CONNECTOID_SEGMENT_ID_CLASS
-
Fields inherited from interface org.goplanit.utils.graph.EdgeSegment
EDGE_SEGMENT_ID_CLASS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConnectoidSegmentImpl(ConnectoidSegmentImpl connectoidSegmentImpl)
Copy constructorprotected
ConnectoidSegmentImpl(IdGroupingToken groupId, ConnectoidEdge parentEdge, boolean directionAb)
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ConnectoidSegmentImpl
clone()
Create a shallow copy of this entityprotected static long
generateConnectoidSegmentId(IdGroupingToken groupId)
generate unique connectoid segment idlong
getConnectoidSegmentId()
Collect the unqiue connectoid segment idprotected long
recreateConnectoidSegmentId(IdGroupingToken tokenId)
recreate the internal connectoid segment id and set itlong
recreateManagedIds(IdGroupingToken tokenId)
Recreate internal ids: id and connectoid segment idprotected void
setConnectoidSegmentId(long connectoidSegmentId)
Set connectoid segment id-
Methods inherited from class org.goplanit.graph.directed.EdgeSegmentImpl
getDownstreamVertex, getParentEdge, getUpstreamVertex, isDirectionAb, remove, removeParentEdge, setDownstreamVertex, setParent, setUpstreamVertex, validate
-
Methods inherited from class org.goplanit.graph.GraphEntityImpl
generateAndSetId, generateId, toString
-
Methods inherited from class org.goplanit.utils.id.ExternalIdAbleImpl
getExternalId, getXmlId, setExternalId, setXmlId
-
Methods inherited from class org.goplanit.utils.id.IdAbleImpl
equals, generateAndSetId, getId, hashCode, setId
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.goplanit.utils.network.virtual.ConnectoidSegment
getCapacityOrDefaultPcuH, getCapacityOrDefaultPcuHLane, getConnectoidSegmentIdClass
-
Methods inherited from interface org.goplanit.utils.graph.EdgeSegment
getDownstreamVertex, getIdClass, getParentEdge, getParentName, getUpstreamVertex, hasParentName, isDirectionAb, remove, removeParentEdge, replace, setDownstreamVertex, setParent, setUpstreamVertex, validate
-
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
-
-
-
-
Constructor Detail
-
ConnectoidSegmentImpl
protected ConnectoidSegmentImpl(IdGroupingToken groupId, ConnectoidEdge parentEdge, boolean directionAb) throws PlanItException
Constructor- Parameters:
groupId
- contiguous id generation within this group for instances of this classparentEdge
- parent connectoiddirectionAb
- direction of travel- Throws:
PlanItException
- thrown when error
-
ConnectoidSegmentImpl
protected ConnectoidSegmentImpl(ConnectoidSegmentImpl connectoidSegmentImpl)
Copy constructor- Parameters:
connectoidSegmentImpl
- to set
-
-
Method Detail
-
generateConnectoidSegmentId
protected static long generateConnectoidSegmentId(IdGroupingToken groupId)
generate unique connectoid segment id- Parameters:
groupId
- contiguous id generation within this group for instances of this class- Returns:
- linkSegmentId
-
setConnectoidSegmentId
protected void setConnectoidSegmentId(long connectoidSegmentId)
Set connectoid segment id- Parameters:
connectoidSegmentId
- to set
-
recreateConnectoidSegmentId
protected long recreateConnectoidSegmentId(IdGroupingToken tokenId)
recreate the internal connectoid segment id and set it- Parameters:
tokenId
- to use- Returns:
- updated id
-
recreateManagedIds
public long recreateManagedIds(IdGroupingToken tokenId)
Recreate internal ids: id and connectoid segment id- Specified by:
recreateManagedIds
in interfaceManagedId
- Overrides:
recreateManagedIds
in classGraphEntityImpl
- Parameters:
tokenId
- to use- Returns:
- recreated id
-
getConnectoidSegmentId
public long getConnectoidSegmentId()
Collect the unqiue connectoid segment id- Specified by:
getConnectoidSegmentId
in interfaceConnectoidSegment
- Returns:
- connectoid segment id
-
clone
public ConnectoidSegmentImpl clone()
Create a shallow copy of this entity- Specified by:
clone
in interfaceEdgeSegment
- Specified by:
clone
in interfaceIdAble
- Overrides:
clone
in classEdgeSegmentImpl
- Returns:
- shallow copy of entity
-
-