Interface Link
-
- All Superinterfaces:
Cloneable,Comparable<IdAble>,DirectedEdge,Edge,ExternalIdAble,GraphEntity,IdAble,ManagedId,Serializable
- All Known Implementing Classes:
LinkImpl
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 longgetLinkId()Return id of this instance.default Class<? extends Link>getLinkIdClass()Return class used to generate unique link ids via the id generatordefault <LS extends LinkSegment>
LSgetLinkSegment(boolean directionAb)collect edgeSegment as something extending LinkSegment which is to be expected for any link.default <LS extends LinkSegment>
LSgetLinkSegmentAb()collect edgeSegment Ab as something extending LinkSegment which is to be expected for any link.default <LS extends LinkSegment>
LSgetLinkSegmentBa()collect edgeSegment Ba as something extending LinkSegment which is to be expected for any link.default <LS extends LinkSegment>
Collection<LS>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 link-
Methods inherited from interface org.goplanit.utils.graph.directed.DirectedEdge
getEdgeSegment, getEdgeSegmentAb, getEdgeSegmentBa, getEdgeSegments, getVertexA, getVertexB, hasEdgeSegmentAb, hasEdgeSegmentBa, registerEdgeSegment, replace
-
Methods inherited from interface org.goplanit.utils.graph.Edge
addInputProperty, clone, createEnvelope, getGeometry, getIdClass, getInputProperty, getLengthKm, getName, hasGeometry, hasVertex, isGeometryInAbDirection, removeVertex, replace, setGeometry, setLengthKm, setName, transformGeometry, validate
-
Methods inherited from interface org.goplanit.utils.id.ExternalIdAble
getExternalId, getXmlId, hasExternalId, hasXmlId, setExternalId, 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 <LS extends LinkSegment> LS getLinkSegment(boolean directionAb)
collect edgeSegment as something extending LinkSegment which is to be expected for any link. Convenience method for readability- Type Parameters:
LS- link segment type- Parameters:
directionAb- the direction- Returns:
- link segment in given direction
-
getLinkSegmentAb
default <LS extends LinkSegment> LS getLinkSegmentAb()
collect edgeSegment Ab as something extending LinkSegment which is to be expected for any link. Convenience method for readability- Type Parameters:
LS- link segment type- 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 <LS extends LinkSegment> LS getLinkSegmentBa()
collect edgeSegment Ba as something extending LinkSegment which is to be expected for any link. Convenience method for readability- Type Parameters:
LS- link segment type- 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 <LS extends LinkSegment> Collection<LS> getLinkSegments()
collect all available link segments of this link- Type Parameters:
LS- type of link segment- Returns:
- available link segments
-
-