Class ConjugateNodeImpl
- java.lang.Object
-
- org.goplanit.utils.id.IdAbleImpl
-
- org.goplanit.utils.id.ExternalIdAbleImpl
-
- org.goplanit.graph.GraphEntityImpl
-
- org.goplanit.graph.VertexImpl<Edge>
-
- org.goplanit.graph.directed.DirectedVertexImpl<ConjugateLinkSegment>
-
- org.goplanit.network.layer.physical.ConjugateNodeImpl
-
- All Implemented Interfaces:
Serializable
,Comparable<IdAble>
,ConjugateDirectedVertex
,DirectedVertex
,GraphEntity
,Vertex
,ExternalIdAble
,IdAble
,ManagedId
,ConjugateNode
public class ConjugateNodeImpl extends DirectedVertexImpl<ConjugateLinkSegment> implements ConjugateNode
Conjugate node representation connected to one or more conjugate (entry and exit) conjugate links.- Author:
- markr
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.goplanit.graph.directed.DirectedVertexImpl
DirectedVertexImpl.EdgeSegmentIterable<ESI extends EdgeSegment>, DirectedVertexImpl.EdgeSegmentIterator<ES extends EdgeSegment>
-
-
Field Summary
Fields Modifier and Type Field Description protected Link
original
original this conjugate represents-
Fields inherited from class org.goplanit.graph.directed.DirectedVertexImpl
entryEdgeSegments, exitEdgeSegments
-
Fields inherited from class org.goplanit.graph.VertexImpl
edges, inputProperties, position
-
Fields inherited from interface org.goplanit.utils.network.layer.physical.ConjugateNode
CONJUGATE_NODE_ID_CLASS
-
Fields inherited from interface org.goplanit.utils.graph.directed.DirectedVertex
getEntryEdgeSegments, getExitEdgeSegments
-
Fields inherited from interface org.goplanit.utils.graph.Vertex
VERTEX_ID_CLASS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConjugateNodeImpl(ConjugateNodeImpl other, boolean deepCopy)
Copy constructorprotected
ConjugateNodeImpl(Link original)
Conjugate Node constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConjugateNodeImpl
deepClone()
An id entity should always support a deep copy, i.e., all "owned" members will be deep copied when a clone of this instance is created via this call.protected long
generateAndSetId(IdGroupingToken tokenId)
Special case where the id is based on the original link and does not rely on generating based on token when recreating managed ids this should override the default behaviour of generating an id based on tokenCollection<ConjugateLink>
getEdges()
Returns a collection of Edge objects (unmodifiable)DirectedEdge
getOriginalEdge()
Original edge in original directed graph this conjugate representsConjugateNodeImpl
shallowClone()
Create a shallow copy of this entity-
Methods inherited from class org.goplanit.graph.directed.DirectedVertexImpl
getEntryEdgeSegments, getExitEdgeSegments
-
Methods inherited from class org.goplanit.graph.VertexImpl
addEdge, addInputProperty, getInputProperty, getPosition, removeAllEdges, removeEdge, setPosition
-
Methods inherited from class org.goplanit.graph.GraphEntityImpl
generateId, recreateManagedIds, 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
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.goplanit.utils.graph.directed.ConjugateDirectedVertex
getEdgeSegment, getEntryEdgeSegments, getExitEdgeSegments
-
Methods inherited from interface org.goplanit.utils.network.layer.physical.ConjugateNode
getConjugateNodeIdClass
-
Methods inherited from interface org.goplanit.utils.graph.directed.DirectedVertex
getNumberOfEntryEdgeSegments, getNumberOfExitEdgeSegments, hasEntryEdgeSegments, hasEntrySegment, hasExitEdgeSegments, hasExitSegment
-
Methods inherited from interface org.goplanit.utils.id.ExternalIdAble
appendExternalId, appendExternalId, getExternalId, getIdsAsString, getSplitExternalId, getSplitExternalId, getXmlId, hasExternalId, hasXmlId, setExternalId, setXmlId, setXmlId
-
Methods inherited from interface org.goplanit.utils.id.IdAble
compareTo, getId, idEquals, idHashCode
-
Methods inherited from interface org.goplanit.utils.id.ManagedId
recreateManagedIds, resetChildManagedIdEntities
-
Methods inherited from interface org.goplanit.utils.graph.Vertex
addEdge, addEdges, addInputProperty, getEdges, getIdClass, getInputProperty, getNumberOfEdges, getPosition, hasPosition, isPositionEqual2D, isPositionEqual2D, removeAllEdges, removeEdge, removeEdge, removeEdges, replace, setPosition, transformPosition, validate
-
-
-
-
Field Detail
-
original
protected final Link original
original this conjugate represents
-
-
Constructor Detail
-
ConjugateNodeImpl
protected ConjugateNodeImpl(Link original)
Conjugate Node constructor. Relies on original link to sync id with- Parameters:
original
- original this conjugate represents
-
ConjugateNodeImpl
protected ConjugateNodeImpl(ConjugateNodeImpl other, boolean deepCopy)
Copy constructor- Parameters:
other
- to copydeepCopy
- when true, create a deep cpy, shallow copy otherwise
-
-
Method Detail
-
generateAndSetId
protected long generateAndSetId(IdGroupingToken tokenId)
Special case where the id is based on the original link and does not rely on generating based on token when recreating managed ids this should override the default behaviour of generating an id based on token- Overrides:
generateAndSetId
in classGraphEntityImpl
- Parameters:
tokenId
- to use for id generation- Returns:
- created and set id
-
getEdges
public Collection<ConjugateLink> getEdges()
Returns a collection of Edge objects (unmodifiable)- Specified by:
getEdges
in interfaceConjugateDirectedVertex
- Specified by:
getEdges
in interfaceDirectedVertex
- Specified by:
getEdges
in interfaceVertex
- Overrides:
getEdges
in classDirectedVertexImpl<ConjugateLinkSegment>
- Returns:
- Set of Edge objects
-
shallowClone
public ConjugateNodeImpl shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClone
in interfaceConjugateNode
- Specified by:
shallowClone
in interfaceGraphEntity
- Specified by:
shallowClone
in interfaceIdAble
- Specified by:
shallowClone
in interfaceVertex
- Overrides:
shallowClone
in classDirectedVertexImpl<ConjugateLinkSegment>
- Returns:
- shallow copy of entity
-
deepClone
public ConjugateNodeImpl deepClone()
An id entity should always support a deep copy, i.e., all "owned" members will be deep copied when a clone of this instance is created via this call. To be used with caution if not called by managed id container related code- Specified by:
deepClone
in interfaceConjugateNode
- Specified by:
deepClone
in interfaceGraphEntity
- Specified by:
deepClone
in interfaceIdAble
- Specified by:
deepClone
in interfaceVertex
- Overrides:
deepClone
in classDirectedVertexImpl<ConjugateLinkSegment>
- Returns:
- deep copy of entity
-
getOriginalEdge
public DirectedEdge getOriginalEdge()
Original edge in original directed graph this conjugate represents- Specified by:
getOriginalEdge
in interfaceConjugateDirectedVertex
- Returns:
- original edge
-
-