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_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 long
getLinkId()
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 boolean
hasLinkSegmentAb()
verify if linkSegment Ab is presentdefault boolean
hasLinkSegmentBa()
verify if linkSegment Ba is presentdefault boolean
hasName()
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
-
-