Interface Edge
-
- All Superinterfaces:
Element
- All Known Implementing Classes:
ComputerGraph.ComputerEdge
,DetachedEdge
,ReferenceEdge
,StarGraph.StarEdge
,StarGraph.StarInEdge
,StarGraph.StarOutEdge
,TinkerEdge
public interface Edge extends Element
AnEdge
links twoVertex
objects. Along with itsProperty
objects, anEdge
has both aDirection
and alabel
. TheDirection
determines whichVertex
is the tailVertex
(outVertex
) and whichVertex
is the headVertex
(inVertex
). TheEdge
label
determines the type of relationship that exists between the two vertices. Diagrammatically:outVertex ---label---> inVertex.
- Author:
- Marko A. Rodriguez (http://markorodriguez.com), Stephen Mallette (http://stephen.genoprime.com)
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
Edge.Exceptions
Common exceptions to use with an edge.
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_LABEL
The default label to use for an edge.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default Iterator<Vertex>
bothVertices()
Get both the outgoing and incoming vertices of this edge.default Vertex
inVertex()
Get the incoming/head vertex of this edge.default Vertex
outVertex()
Get the outgoing/tail vertex of this edge.<V> Iterator<Property<V>>
properties(String... propertyKeys)
Get anIterator
of properties where thepropertyKeys
is meant to be a filter on the available keys.Iterator<Vertex>
vertices(Direction direction)
Retrieve the vertex (or vertices) associated with this edge as defined by the direction.
-
-
-
Field Detail
-
DEFAULT_LABEL
static final String DEFAULT_LABEL
The default label to use for an edge. This is typically never used as when an edge is created, an edge label is required to be specified.- See Also:
- Constant Field Values
-
-
Method Detail
-
vertices
Iterator<Vertex> vertices(Direction direction)
Retrieve the vertex (or vertices) associated with this edge as defined by the direction. If the direction isDirection.BOTH
then the iterator order is:Direction.OUT
thenDirection.IN
.- Parameters:
direction
- Get the incoming vertex, outgoing vertex, or both vertices- Returns:
- An iterator with 1 or 2 vertices
-
outVertex
default Vertex outVertex()
Get the outgoing/tail vertex of this edge.- Returns:
- the outgoing vertex of the edge
-
inVertex
default Vertex inVertex()
Get the incoming/head vertex of this edge.- Returns:
- the incoming vertex of the edge
-
bothVertices
default Iterator<Vertex> bothVertices()
Get both the outgoing and incoming vertices of this edge. The first vertex in the iterator is the outgoing vertex. The second vertex in the iterator is the incoming vertex.- Returns:
- an iterator of the two vertices of this edge
-
-