Interface ConjugateLink
-
- All Superinterfaces:
Comparable<IdAble>
,ConjugateDirectedEdge
,DirectedEdge
,Edge
,ExternalIdAble
,GraphEntity
,IdAble
,ManagedId
,Serializable
- All Known Implementing Classes:
ConjugateLinkImpl
public interface ConjugateLink extends ConjugateDirectedEdge
Conjugate link representing two adjacent directed edges in original network and connecting two conjugated nodes- Author:
- markr
-
-
Field Summary
Fields Modifier and Type Field Description static Class<ConjugateLink>
CONJUGATE_LINK_ID_CLASS
id class for generating ids-
Fields inherited from interface org.goplanit.utils.graph.Edge
EDGE_ID_CLASS
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description ConjugateLink
deepClone()
Deep copy, non-owned members are reference copieddefault Class<? extends ConjugateLink>
getConjugateLinkIdClass()
Return class used to generate unique conjugate link ids via the id generatordefault <LS extends ConjugateLinkSegment>
LSgetConjugateLinkSegment(boolean directionAb)
default <LS extends ConjugateLinkSegment>
LSgetConjugateLinkSegmentAb()
default <LS extends ConjugateLinkSegment>
Collection<LS>getConjugateLinkSegments()
default <N extends ConjugateNode>
NgetConjugateNodeA()
default <N extends ConjugateNode>
NgetConjugateNodeB()
default <LS extends ConjugateLinkSegment>
LSgetLinkSegmentBa()
default boolean
hasConjugateLinkSegmentAb()
default boolean
hasConjugateLinkSegmentBa()
ConjugateLink
shallowClone()
Shallow copy-
Methods inherited from interface org.goplanit.utils.graph.directed.ConjugateDirectedEdge
getEdgeSegment, getEdgeSegmentAb, getEdgeSegmentBa, getEdgeSegments, getOriginalAdjacentEdges, getOriginalAdjacentEdgeSegments, getVertexA, getVertexB, registerEdgeSegment, removeEdgeSegmentAb, removeEdgeSegmentBa
-
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
-
-
-
-
Field Detail
-
CONJUGATE_LINK_ID_CLASS
static final Class<ConjugateLink> CONJUGATE_LINK_ID_CLASS
id class for generating ids
-
-
Method Detail
-
getConjugateLinkIdClass
default Class<? extends ConjugateLink> getConjugateLinkIdClass()
Return class used to generate unique conjugate link ids via the id generator- Returns:
- class type
-
getConjugateNodeA
default <N extends ConjugateNode> N getConjugateNodeA()
-
getConjugateNodeB
default <N extends ConjugateNode> N getConjugateNodeB()
-
getConjugateLinkSegment
default <LS extends ConjugateLinkSegment> LS getConjugateLinkSegment(boolean directionAb)
-
getConjugateLinkSegmentAb
default <LS extends ConjugateLinkSegment> LS getConjugateLinkSegmentAb()
-
hasConjugateLinkSegmentAb
default boolean hasConjugateLinkSegmentAb()
-
getLinkSegmentBa
default <LS extends ConjugateLinkSegment> LS getLinkSegmentBa()
-
hasConjugateLinkSegmentBa
default boolean hasConjugateLinkSegmentBa()
-
getConjugateLinkSegments
default <LS extends ConjugateLinkSegment> Collection<LS> getConjugateLinkSegments()
-
shallowClone
ConjugateLink shallowClone()
Shallow copy- 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
- Returns:
- copy of this edge
-
deepClone
ConjugateLink deepClone()
Deep copy, non-owned members are reference copied- 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
- Returns:
- copy of this edge
-
-