Package org.goplanit.network.virtual
Class ConjugateConnectoidEdgeImpl
- java.lang.Object
-
- org.goplanit.utils.id.IdAbleImpl
-
- org.goplanit.utils.id.ExternalIdAbleImpl
-
- org.goplanit.graph.GraphEntityImpl
-
- org.goplanit.graph.EdgeImpl<V>
-
- org.goplanit.graph.directed.DirectedEdgeImpl<V,ES>
-
- org.goplanit.graph.directed.ConjugateDirectedEdgeImpl<ConjugateConnectoidNode,ConjugateConnectoidSegment>
-
- org.goplanit.network.virtual.ConjugateConnectoidEdgeImpl
-
- All Implemented Interfaces:
Serializable
,Comparable<IdAble>
,ConjugateDirectedEdge
,DirectedEdge
,Edge
,GraphEntity
,ExternalIdAble
,IdAble
,ManagedId
,ConjugateConnectoidEdge
public class ConjugateConnectoidEdgeImpl extends ConjugateDirectedEdgeImpl<ConjugateConnectoidNode,ConjugateConnectoidSegment> implements ConjugateConnectoidEdge
Conjugate (non-directional) connectoid edge class connecting two conjugate nodes. This conjugate only partly exists in the original network to be able to comprise the initial turn entering the network (at origin) or the last turn leaving the network (at destination).Since a conjugate edge is in fact a turn it may be that the node is a connectoid edge and its conjugate is not a conjugate node but a conjugate connectoid node. Therefore we use conjugate directed vertices rather than require a conjugate node as the base class
- Author:
- markr
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.goplanit.graph.directed.ConjugateDirectedEdgeImpl
originalEdges
-
Fields inherited from class org.goplanit.graph.EdgeImpl
inputProperties, lengthInKm, lineGeometry, name
-
Fields inherited from interface org.goplanit.utils.network.virtual.ConjugateConnectoidEdge
CONJUGATE_CONNECTOID_EDGE_ID_CLASS
-
Fields inherited from interface org.goplanit.utils.graph.Edge
EDGE_ID_CLASS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConjugateConnectoidEdgeImpl(ConjugateConnectoidEdgeImpl other, boolean deepCopy)
Copy constructorprotected
ConjugateConnectoidEdgeImpl(IdGroupingToken groupId, ConjugateConnectoidNode nodeA, ConjugateConnectoidNode nodeB, ConnectoidEdge originalConnectoidEdge)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConjugateConnectoidEdgeImpl
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.ConjugateConnectoidEdgeImpl
shallowClone()
Create a shallow copy of this entity-
Methods inherited from class org.goplanit.graph.directed.ConjugateDirectedEdgeImpl
getGeometry, getLengthKm, getOriginalAdjacentEdges, setGeometry, setLengthKm
-
Methods inherited from class org.goplanit.graph.directed.DirectedEdgeImpl
getEdgeSegmentAb, getEdgeSegmentBa, registerEdgeSegment, removeEdgeSegmentAb, removeEdgeSegmentBa, replace, setEdgeSegmentAb, setEdgeSegmentBa
-
Methods inherited from class org.goplanit.graph.EdgeImpl
addInputProperty, getInputProperty, getName, getVertexA, getVertexB, removeVertex, removeVertexA, removeVertexB, replace, setName, setVertexA, setVertexB, validate
-
Methods inherited from class org.goplanit.graph.GraphEntityImpl
generateAndSetId, 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.network.virtual.ConjugateConnectoidEdge
getConnectoidEdgeIdClass, getEdgeSegment, getEdgeSegmentAb, getEdgeSegmentBa, getEdgeSegments, getVertexA, getVertexB, registerEdgeSegment, removeEdgeSegmentAb, removeEdgeSegmentBa
-
Methods inherited from interface org.goplanit.utils.graph.directed.ConjugateDirectedEdge
getOriginalAdjacentEdges, getOriginalAdjacentEdgeSegments
-
Methods inherited from interface org.goplanit.utils.graph.directed.DirectedEdge
forEachSegment, hasEdgeSegment, hasEdgeSegmentAb, hasEdgeSegmentBa, registerEdgeSegment, removeEdgeSegment, removeEdgeSegments, replace
-
Methods inherited from interface org.goplanit.utils.graph.Edge
addInputProperty, createEnvelope, getGeometry, getIdClass, getInputProperty, getLengthKm, getName, hasGeometry, hasName, hasVertex, hasVertexA, hasVertexB, hasVertices, isGeometryInAbDirection, isGeometryInAbDirection, isVertexA, populateBasicGeometry, removeVertex, replace, setGeometry, setLengthKm, setName, transformGeometry, updateGeometryInjectCoordinateAtProjectedLocation, validate
-
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
-
-
-
-
Constructor Detail
-
ConjugateConnectoidEdgeImpl
protected ConjugateConnectoidEdgeImpl(ConjugateConnectoidEdgeImpl other, boolean deepCopy)
Copy constructor- Parameters:
other
- to copydeepCopy
- when true, create a deep copy, shallow copy otherwise
-
ConjugateConnectoidEdgeImpl
protected ConjugateConnectoidEdgeImpl(IdGroupingToken groupId, ConjugateConnectoidNode nodeA, ConjugateConnectoidNode nodeB, ConnectoidEdge originalConnectoidEdge)
Constructor- Parameters:
groupId
- , contiguous id generation within this group for instances of this classnodeA
- the first vertex of the edgenodeB
- the second vertex of the edgeoriginalConnectoidEdge
- of the conjugate
-
-
Method Detail
-
shallowClone
public ConjugateConnectoidEdgeImpl shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClone
in interfaceConjugateConnectoidEdge
- Specified by:
shallowClone
in interfaceConjugateDirectedEdge
- Specified by:
shallowClone
in interfaceDirectedEdge
- Specified by:
shallowClone
in interfaceEdge
- Specified by:
shallowClone
in interfaceGraphEntity
- Specified by:
shallowClone
in interfaceIdAble
- Overrides:
shallowClone
in classConjugateDirectedEdgeImpl<ConjugateConnectoidNode,ConjugateConnectoidSegment>
- Returns:
- shallow copy of entity
-
deepClone
public ConjugateConnectoidEdgeImpl 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 interfaceConjugateConnectoidEdge
- Specified by:
deepClone
in interfaceConjugateDirectedEdge
- Specified by:
deepClone
in interfaceDirectedEdge
- Specified by:
deepClone
in interfaceEdge
- Specified by:
deepClone
in interfaceGraphEntity
- Specified by:
deepClone
in interfaceIdAble
- Overrides:
deepClone
in classConjugateDirectedEdgeImpl<ConjugateConnectoidNode,ConjugateConnectoidSegment>
- Returns:
- deep copy of entity
-
-