Interface DirectedVertex
-
- All Superinterfaces:
Comparable<IdAble>
,ExternalIdAble
,GraphEntity
,IdAble
,ManagedId
,Serializable
,Vertex
- All Known Subinterfaces:
CentroidVertex
,ConjugateConnectoidNode
,ConjugateDirectedVertex
,ConjugateNode
,Node
,ServiceNode
- All Known Implementing Classes:
CentroidVertexImpl
,ConjugateConnectoidNodeImpl
,ConjugateDirectedVertexImpl
,ConjugateNodeImpl
,DirectedVertexImpl
,NodeImpl
,ServiceNodeImpl
public interface DirectedVertex extends Vertex
Directed vertex representation connected to one or more edge segments that have direction. The vertex itself is of course not directional- Author:
- markr
-
-
Field Summary
Fields Modifier and Type Field Description static Function<DirectedVertex,Iterable<? extends EdgeSegment>>
getEntryEdgeSegments
Function collecting entry edge segments for vertexstatic Function<DirectedVertex,Iterable<? extends EdgeSegment>>
getExitEdgeSegments
Function collecting exit edge segments for vertex-
Fields inherited from interface org.goplanit.utils.graph.Vertex
LOGGER, VERTEX_ID_CLASS
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Collection<? extends DirectedEdge>
getEdges()
Returns a collection of DirectedEdge objects (unmodifiable)default EdgeSegment
getEdgeSegment(DirectedVertex otherVertex)
collect the first edge segment corresponding to the provided other vertexstatic Function<DirectedVertex,Iterable<? extends EdgeSegment>>
getEdgeSegmentsForVertexLambda(boolean entrySegments)
Collect lambda function that collects either up or downstream edge segmentsIterable<? extends EdgeSegment>
getEntryEdgeSegments()
Collect the entry edge segments of this vertex (unmodifiable)Iterable<? extends EdgeSegment>
getExitEdgeSegments()
Collect the exit edge segments of this vertex (unmodifiable)default int
getNumberOfEntryEdgeSegments()
Collect the number of entry edge segments of this vertexdefault int
getNumberOfExitEdgeSegments()
Collect the number of exit edge segments of this vertexdefault boolean
hasEntryEdgeSegments()
Test whether no entry edge segments have been registereddefault boolean
hasEntrySegment(EdgeSegment segment)
Find segment in entry segmentsdefault boolean
hasExitEdgeSegments()
Test whether no exit edge segments have been registereddefault boolean
hasExitSegment(EdgeSegment segment)
Find segment in exit segments-
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
-
Methods inherited from interface org.goplanit.utils.graph.Vertex
addEdge, addEdges, addInputProperty, deepClone, getEdges, getIdClass, getInputProperty, getNumberOfEdges, getPosition, hasPosition, isPositionEqual2D, isPositionEqual2D, removeAllEdges, removeEdge, removeEdge, removeEdges, replace, setPosition, shallowClone, transformPosition, validate
-
-
-
-
Field Detail
-
getEntryEdgeSegments
static final Function<DirectedVertex,Iterable<? extends EdgeSegment>> getEntryEdgeSegments
Function collecting entry edge segments for vertex
-
getExitEdgeSegments
static final Function<DirectedVertex,Iterable<? extends EdgeSegment>> getExitEdgeSegments
Function collecting exit edge segments for vertex
-
-
Method Detail
-
getEdgeSegmentsForVertexLambda
static Function<DirectedVertex,Iterable<? extends EdgeSegment>> getEdgeSegmentsForVertexLambda(boolean entrySegments)
Collect lambda function that collects either up or downstream edge segments- Parameters:
entrySegments
- flag indicating if entry segments lambda to collect for a given vertex- Returns:
- lambda function
-
getEdges
Collection<? extends DirectedEdge> getEdges()
Returns a collection of DirectedEdge objects (unmodifiable)
-
getEntryEdgeSegments
Iterable<? extends EdgeSegment> getEntryEdgeSegments()
Collect the entry edge segments of this vertex (unmodifiable)- Returns:
- edgeSegments
-
getExitEdgeSegments
Iterable<? extends EdgeSegment> getExitEdgeSegments()
Collect the exit edge segments of this vertex (unmodifiable)- Returns:
- edgeSegments
-
getEdgeSegment
default EdgeSegment getEdgeSegment(DirectedVertex otherVertex)
collect the first edge segment corresponding to the provided other vertex- Parameters:
otherVertex
- to use- Returns:
- first edge segment matching this signature
-
hasEntrySegment
default boolean hasEntrySegment(EdgeSegment segment)
Find segment in entry segments- Parameters:
segment
- to find- Returns:
- true when present, false otherwise
-
hasExitSegment
default boolean hasExitSegment(EdgeSegment segment)
Find segment in exit segments- Parameters:
segment
- to find- Returns:
- true when present, false otherwise
-
hasExitEdgeSegments
default boolean hasExitEdgeSegments()
Test whether no exit edge segments have been registered- Returns:
- true if no exit edge segments have been registered, false otherwise
-
hasEntryEdgeSegments
default boolean hasEntryEdgeSegments()
Test whether no entry edge segments have been registered- Returns:
- true if no entry edge segments have been registered, false otherwise
-
getNumberOfEntryEdgeSegments
default int getNumberOfEntryEdgeSegments()
Collect the number of entry edge segments of this vertexslow method because it requires iterating over the underlying iterable since it is not a collection we are obtain the count from
- Returns:
- number of entry edge segments
-
getNumberOfExitEdgeSegments
default int getNumberOfExitEdgeSegments()
Collect the number of exit edge segments of this vertexslow method because it requires iterating over the underlying iterable since it is not a collection we are obtain the count from
- Returns:
- number of exit edge segments
-
-