Interface ConjugateLinkSegment
-
- All Superinterfaces:
Comparable<IdAble>
,ConjugateEdgeSegment
,EdgeSegment
,ExternalIdAble
,GraphEntity
,IdAble
,ManagedId
,Serializable
- All Known Implementing Classes:
ConjugateLinkSegmentImpl
public interface ConjugateLinkSegment extends ConjugateEdgeSegment
Interface for a turn, i.e. conjugate link segment.- Author:
- markr
-
-
Field Summary
Fields Modifier and Type Field Description static Class<ConjugateLinkSegment>
CONJUGATE_LINK_SEGMENT_ID_CLASS
additional id class for generating link segment ids-
Fields inherited from interface org.goplanit.utils.graph.directed.ConjugateEdgeSegment
CONJUGATE_EDGE_SEGMENT_ID_CLASS
-
Fields inherited from interface org.goplanit.utils.graph.directed.EdgeSegment
EDGE_SEGMENT_ID_CLASS, getDownstreamVertex, getUpstreamVertex
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description ConjugateLinkSegment
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.default Class<? extends ConjugateLinkSegment>
getConjugateLinkSegmentIdClass()
Return class used to generate unique link ids via the id generatordefault ConjugateNode
getDownstreamVertex()
Get the segment's downstream vertexdefault Pair<? extends LinkSegment,? extends LinkSegment>
getOriginalAdjcentEdgeSegments()
Adjacent edge segments in original graph for this conjugateConjugateLink
getParent()
Collect the parent edge of the segmentdefault ConjugateNode
getUpstreamVertex()
Get the segment's upstream vertexConjugateLinkSegment
shallowClone()
Create a shallow copy of this entity-
Methods inherited from interface org.goplanit.utils.graph.directed.ConjugateEdgeSegment
getIdClass, getOppositeDirectionSegment
-
Methods inherited from interface org.goplanit.utils.graph.directed.EdgeSegment
getLengthKm, getParentName, hasGeometry, hasParent, hasParentName, isAdjacent, isDirectionAb, isParentGeometryInSegmentDirection, removeParentEdge, setParent, 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
-
-
-
-
Field Detail
-
CONJUGATE_LINK_SEGMENT_ID_CLASS
static final Class<ConjugateLinkSegment> CONJUGATE_LINK_SEGMENT_ID_CLASS
additional id class for generating link segment ids
-
-
Method Detail
-
getConjugateLinkSegmentIdClass
default Class<? extends ConjugateLinkSegment> getConjugateLinkSegmentIdClass()
Return class used to generate unique link ids via the id generator- Returns:
- class type
-
getParent
ConjugateLink getParent()
Collect the parent edge of the segment- Specified by:
getParent
in interfaceConjugateEdgeSegment
- Specified by:
getParent
in interfaceEdgeSegment
- Returns:
- parentEdge
-
getUpstreamVertex
default ConjugateNode getUpstreamVertex()
Get the segment's upstream vertex- Specified by:
getUpstreamVertex
in interfaceConjugateEdgeSegment
- Specified by:
getUpstreamVertex
in interfaceEdgeSegment
- Returns:
- upstream vertex
-
getDownstreamVertex
default ConjugateNode getDownstreamVertex()
Get the segment's downstream vertex- Specified by:
getDownstreamVertex
in interfaceConjugateEdgeSegment
- Specified by:
getDownstreamVertex
in interfaceEdgeSegment
- Returns:
- downstream vertex
-
getOriginalAdjcentEdgeSegments
default Pair<? extends LinkSegment,? extends LinkSegment> getOriginalAdjcentEdgeSegments()
Adjacent edge segments in original graph for this conjugate- Specified by:
getOriginalAdjcentEdgeSegments
in interfaceConjugateEdgeSegment
- Returns:
- edge segment pair
-
shallowClone
ConjugateLinkSegment shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClone
in interfaceConjugateEdgeSegment
- Specified by:
shallowClone
in interfaceEdgeSegment
- Specified by:
shallowClone
in interfaceGraphEntity
- Specified by:
shallowClone
in interfaceIdAble
- Returns:
- shallow copy of entity
-
deepClone
ConjugateLinkSegment 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 interfaceConjugateEdgeSegment
- Specified by:
deepClone
in interfaceEdgeSegment
- Specified by:
deepClone
in interfaceGraphEntity
- Specified by:
deepClone
in interfaceIdAble
- Returns:
- deep copy of entity
-
-