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 Linkoriginaloriginal 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 protectedConjugateNodeImpl(ConjugateNodeImpl other, boolean deepCopy)Copy constructorprotectedConjugateNodeImpl(Link original)Conjugate Node constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConjugateNodeImpldeepClone()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 longgenerateAndSetId(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)DirectedEdgegetOriginalEdge()Original edge in original directed graph this conjugate representsConjugateNodeImplshallowClone()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:
generateAndSetIdin 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:
getEdgesin interfaceConjugateDirectedVertex- Specified by:
getEdgesin interfaceDirectedVertex- Specified by:
getEdgesin interfaceVertex- Overrides:
getEdgesin classDirectedVertexImpl<ConjugateLinkSegment>- Returns:
- Set of Edge objects
-
shallowClone
public ConjugateNodeImpl shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClonein interfaceConjugateNode- Specified by:
shallowClonein interfaceGraphEntity- Specified by:
shallowClonein interfaceIdAble- Specified by:
shallowClonein interfaceVertex- Overrides:
shallowClonein 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:
deepClonein interfaceConjugateNode- Specified by:
deepClonein interfaceGraphEntity- Specified by:
deepClonein interfaceIdAble- Specified by:
deepClonein interfaceVertex- Overrides:
deepClonein classDirectedVertexImpl<ConjugateLinkSegment>- Returns:
- deep copy of entity
-
getOriginalEdge
public DirectedEdge getOriginalEdge()
Original edge in original directed graph this conjugate represents- Specified by:
getOriginalEdgein interfaceConjugateDirectedVertex- Returns:
- original edge
-
-