Interface Link
-
- All Superinterfaces:
Comparable<IdAble>,DirectedEdge,Edge,ExternalIdAble,GraphEntity,IdAble,ManagedId,Serializable
- All Known Subinterfaces:
MacroscopicLink
- All Known Implementing Classes:
LinkImpl,MacroscopicLinkImpl
public interface Link extends DirectedEdge
Link interface which extends the Edge interface with a unique id (not all edges are links) as well as an external id- Author:
- markr
-
-
Field Summary
Fields Modifier and Type Field Description static Class<Link>LINK_ID_CLASSid 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 LinkdeepClone()Deep copy, non-owned members are reference copiedlonggetLinkId()Return id of this instance.default Class<? extends Link>getLinkIdClass()Return class used to generate unique link ids via the id generatordefault LinkSegmentgetLinkSegment(boolean directionAb)collect edgeSegment as something extending LinkSegment which is to be expected for any link.default LinkSegmentgetLinkSegmentAb()collect edgeSegment Ab as something extending LinkSegment which is to be expected for any link.default LinkSegmentgetLinkSegmentBa()collect edgeSegment Ba as something extending LinkSegment which is to be expected for any link.default Collection<? extends LinkSegment>getLinkSegments()collect all available link segments of this linkdefault <N extends Node>
NgetNodeA()collect vertex A as something extending node which is to be expected for any link.default <N extends Node>
NgetNodeB()collect vertex A as something extending node which is to be expected for any link.default booleanhasLinkSegmentAb()verify if linkSegment Ab is presentdefault booleanhasLinkSegmentBa()verify if linkSegment Ba is presentdefault booleanhasName()verify if name is present on linkLinkshallowClone()Shallow copy-
Methods inherited from interface org.goplanit.utils.graph.directed.DirectedEdge
forEachSegment, getEdgeSegment, getEdgeSegmentAb, getEdgeSegmentBa, getEdgeSegments, getVertexA, getVertexB, hasEdgeSegment, hasEdgeSegmentAb, hasEdgeSegmentBa, registerEdgeSegment, registerEdgeSegment, removeEdgeSegment, removeEdgeSegmentAb, removeEdgeSegmentBa, removeEdgeSegments, replace
-
Methods inherited from interface org.goplanit.utils.graph.Edge
addInputProperty, createEnvelope, getGeometry, getIdClass, getInputProperty, getLengthKm, getName, hasGeometry, 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
-
-
-
-
Method Detail
-
getLinkId
long getLinkId()
Return id of this instance. This id is expected to be generated using the org.planit.utils.misc.IdGenerator- Returns:
- linkId
-
getLinkIdClass
default Class<? extends Link> getLinkIdClass()
Return class used to generate unique link ids via the id generator- Returns:
- class type
-
getNodeA
default <N extends Node> N getNodeA()
collect vertex A as something extending node which is to be expected for any link. Convenience method for readability- Type Parameters:
N- node type- Returns:
- nodeA
-
getNodeB
default <N extends Node> N getNodeB()
collect vertex A as something extending node which is to be expected for any link. Convenience method for readability- Type Parameters:
N- node type- Returns:
- nodeA
-
getLinkSegment
default LinkSegment getLinkSegment(boolean directionAb)
collect edgeSegment as something extending LinkSegment which is to be expected for any link. Convenience method for readability- Parameters:
directionAb- the direction- Returns:
- link segment in given direction
-
getLinkSegmentAb
default LinkSegment getLinkSegmentAb()
collect edgeSegment Ab as something extending LinkSegment which is to be expected for any link. Convenience method for readability- Returns:
- link segment in given direction
-
hasLinkSegmentAb
default boolean hasLinkSegmentAb()
verify if linkSegment Ab is present- Returns:
- true when link segment is present, false otherwise
-
getLinkSegmentBa
default LinkSegment getLinkSegmentBa()
collect edgeSegment Ba as something extending LinkSegment which is to be expected for any link. Convenience method for readability- Returns:
- link segment in given direction
-
hasLinkSegmentBa
default boolean hasLinkSegmentBa()
verify if linkSegment Ba is present- Returns:
- true when link segment is present, false otherwise
-
hasName
default boolean hasName()
verify if name is present on link
-
getLinkSegments
default Collection<? extends LinkSegment> getLinkSegments()
collect all available link segments of this link- Returns:
- available link segments
-
shallowClone
Link shallowClone()
Shallow copy- Specified by:
shallowClonein interfaceDirectedEdge- Specified by:
shallowClonein interfaceEdge- Specified by:
shallowClonein interfaceGraphEntity- Specified by:
shallowClonein interfaceIdAble- Returns:
- copy of this edge
-
deepClone
Link deepClone()
Deep copy, non-owned members are reference copied- Specified by:
deepClonein interfaceDirectedEdge- Specified by:
deepClonein interfaceEdge- Specified by:
deepClonein interfaceGraphEntity- Specified by:
deepClonein interfaceIdAble- Returns:
- copy of this edge
-
-