public interface Node extends Element, Iterable<Edge>
Implementing classes should indicate the complexity of their implementation for each method.
Modifier and Type | Method and Description |
---|---|
<T extends Node> |
getBreadthFirstIterator()
Iterator for breadth first exploration of the graph, starting at this
node.
|
<T extends Node> |
getBreadthFirstIterator(boolean directed)
Iterator for breadth first exploration of the graph, starting at this
node.
|
int |
getDegree()
Total number of relations with other nodes or this node.
|
<T extends Node> |
getDepthFirstIterator()
Iterator for depth first exploration of the graph, starting at this node.
|
<T extends Node> |
getDepthFirstIterator(boolean directed)
Iterator for depth first exploration of the graph, starting at this node.
|
<T extends Edge> |
getEachEdge()
Set of all entering and leaving edges.
|
<T extends Edge> |
getEachEnteringEdge()
Set of all entering edges.
|
<T extends Edge> |
getEachLeavingEdge()
Set of all leaving edges.
|
<T extends Edge> |
getEdge(int i)
I-th edge.
|
<T extends Edge> |
getEdgeBetween(int index)
Retrieves an edge between this node and the node with index i if one
exists.
|
<T extends Edge> |
getEdgeBetween(Node node)
Retrieves an edge between this node and and another node if one exists.
|
<T extends Edge> |
getEdgeBetween(String id)
Retrieve an edge between this node and the node 'id', if it exits.
|
<T extends Edge> |
getEdgeFrom(int index)
Retrieves an edge that leaves node with given index toward this node.
|
<T extends Edge> |
getEdgeFrom(Node node)
Retrieves an edge that leaves given node toward this node.
|
<T extends Edge> |
getEdgeFrom(String id)
Retrieve an edge that leaves node 'id' toward this node.
|
<T extends Edge> |
getEdgeIterator()
Iterator on the set of connected edges.
|
<T extends Edge> |
getEdgeSet()
Set of all entering and leaving edges.
|
<T extends Edge> |
getEdgeToward(int index)
Retrieves an edge that leaves this node toward the node with given index.
|
<T extends Edge> |
getEdgeToward(Node node)
Retrieves an edge that leaves this node toward another node.
|
<T extends Edge> |
getEdgeToward(String id)
Retrieve an edge that leaves this node toward 'id'.
|
<T extends Edge> |
getEnteringEdge(int i)
I-th entering edge.
|
<T extends Edge> |
getEnteringEdgeIterator()
Iterator only on leaving edges.
|
<T extends Edge> |
getEnteringEdgeSet()
Set of all entering edges.
|
Graph |
getGraph()
Parent graph.
|
int |
getInDegree()
Number of entering edges.
|
<T extends Edge> |
getLeavingEdge(int i)
I-th leaving edge.
|
<T extends Edge> |
getLeavingEdgeIterator()
Iterator only on entering edges.
|
<T extends Edge> |
getLeavingEdgeSet()
Set of all leaving edges.
|
<T extends Node> |
getNeighborNodeIterator()
Iterator on the set of neighbor nodes connected to this node via one or
more edges.
|
int |
getOutDegree()
Number of leaving edges.
|
boolean |
hasEdgeBetween(int index)
True if an edge exists between this node and a node with given index.
|
boolean |
hasEdgeBetween(Node node)
True if an edge exists between this node and another node.
|
boolean |
hasEdgeBetween(String id)
True if an edge exists between this node and node 'id'.
|
boolean |
hasEdgeFrom(int index)
True if an edge enters this node from a node with given index.
|
boolean |
hasEdgeFrom(Node node)
True if an edge enters this node from a given node.
|
boolean |
hasEdgeFrom(String id)
True if an edge enters this node from node 'id'.
|
boolean |
hasEdgeToward(int index)
True if an edge leaves this node toward a node with given index.
|
boolean |
hasEdgeToward(Node node)
True if an edge leaves this node toward a given node.
|
boolean |
hasEdgeToward(String id)
True if an edge leaves this node toward node 'id'.
|
String |
toString()
Override the Object.toString() method.
|
addAttribute, addAttributes, changeAttribute, clearAttributes, getArray, getAttribute, getAttribute, getAttributeCount, getAttributeKeyIterator, getAttributeKeySet, getEachAttributeKey, getFirstAttributeOf, getFirstAttributeOf, getHash, getId, getIndex, getLabel, getNumber, getVector, hasArray, hasAttribute, hasAttribute, hasHash, hasLabel, hasNumber, hasVector, removeAttribute, setAttribute
Graph getGraph()
int getDegree()
int getOutDegree()
int getInDegree()
boolean hasEdgeToward(String id)
id
- Identifier of the target node.boolean hasEdgeFrom(String id)
id
- Identifier of the source node.boolean hasEdgeBetween(String id)
id
- Identifier of another node.<T extends Edge> T getEdgeToward(String id)
This method selects only edges leaving this node an pointing at node 'id' (this also selects undirected edges).
This method is implicitly generic and return something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdgeToward("...");the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
id
- Identifier of the target node.<T extends Edge> T getEdgeFrom(String id)
This method selects only edges leaving node 'id' an pointing at this node (this also selects undirected edges).
This method is implicitly generic and return something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdgeFrom("...");the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
id
- Identifier of the source node.<T extends Edge> T getEdgeBetween(String id)
This method selects directed or undirected edges. If the edge is directed, its direction is not important and leaving or entering edges will be selected.
This method is implicitly generic and return something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdgeBetween("...");the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
id
- Identifier of the opposite node.<T extends Edge> Iterator<T> getEdgeIterator()
This iterator iterates on all edges leaving and entering (this includes any non-directed edge present, and a non-directed edge is only iterated once).
This method is implicitly generic and return an Iterator over something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
Iterator<ExtendedEdge> ite = node.getEdgeIterator();the method will return an Iterator<ExtendedEdge>. If no left part exists, method will just return an Iterator<Edge>.
<T extends Edge> Iterator<T> getEnteringEdgeIterator()
This iterator iterates only on directed edges going from this node to others (non-directed edges are included in the iteration).
This method is implicitly generic and return an Iterator over something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
Iterator<ExtendedEdge> ite = node.getEnteringEdgeIterator();the method will return an Iterator<ExtendedEdge>. If no left part exists, method will just return an Iterator<Edge>.
<T extends Edge> Iterator<T> getLeavingEdgeIterator()
This iterator iterates only on directed edges going from other nodes toward this node (non-directed edges are included in the iteration).
This method is implicitly generic and return an Iterator over something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
Iterator<ExtendedEdge> ite = node.getLeavingEdgeIterator();the method will return an Iterator<ExtendedEdge>. If no left part exists, method will just return an Iterator<Edge>.
<T extends Node> Iterator<T> getNeighborNodeIterator()
<T extends Edge> T getEdge(int i)
However this method allows to iterate very quickly on all edges, or to choose a given edge with direct access.
This method is implicitly generic and return something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdge(i);the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
i
- Index of the edge.IndexOutOfBoundException
- if i
is negative or greater than or equal to the
degree<T extends Edge> T getEnteringEdge(int i)
However this method allows to iterate very quickly on all entering edges, or to choose a given entering edge with direct access.
This method is implicitly generic and return something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEnteringEdge(i);the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
i
- Index of the edge.IndexOutOfBoundException
- if i
is negative or greater than or equal to the
in-degree<T extends Edge> T getLeavingEdge(int i)
However this method allows to iterate very quickly on all leaving edges, or to choose a given leaving edge with direct access.
This method is implicitly generic and return something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getLeavingEdge(i);the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
i
- Index of the edge.IndexOutOfBoundException
- if i
is negative or greater than or equal to the
out-degree<T extends Node> Iterator<T> getBreadthFirstIterator()
If the graph is not connected, only a part of it will be explored. By default, this iterator will respect edge orientation.
This method is implicitly generic and return an Iterator over something which extends Node. The return type is the one of the left part of the assignment. For example, in the following call :
Iterator<ExtendedNode> ite = node.getBreadthFirstIterator();the method will return an Iterator<ExtendedNode>. If no left part exists, method will just return an Iterator<Node>.
<T extends Node> Iterator<T> getBreadthFirstIterator(boolean directed)
If the graph is not connected, only a part of it will be explored.
This method is implicitly generic and return an Iterator over something which extends Node. The return type is the one of the left part of the assignment. For example, in the following call :
Iterator<ExtendedNode> ite = node.getBreadthFirstIterator(true);the method will return an Iterator<ExtendedNode>. If no left part exists, method will just return an Iterator<Node>.
directed
- If false, the iterator will ignore edge orientation (the
default is "True").<T extends Node> Iterator<T> getDepthFirstIterator()
If the graph is not connected, only a part of it will be explored. By default, this iterator will respect edge orientation.
This method is implicitly generic and return an Iterator over something which extends Node. The return type is the one of the left part of the assignment. For example, in the following call :
Iterator<ExtendedNode> ite = node.getDepthFirstIterator();the method will return an Iterator<ExtendedNode>. If no left part exists, method will just return an Iterator<Node>.
<T extends Node> Iterator<T> getDepthFirstIterator(boolean directed)
If the graph is not connected, only a part of it will be explored.
This method is implicitly generic and return an Iterator over something which extends Node. The return type is the one of the left part of the assignment. For example, in the following call :
Iterator<ExtendedNode> ite = node.getDepthFirstIterator(true);the method will return an Iterator<ExtendedNode>. If no left part exists, method will just return an Iterator<Node>.
directed
- If false, the iterator will ignore edge orientation (the
default is "True").<T extends Edge> Iterable<T> getEachEdge()
This method is implicitly generic and return an Iterable over something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
Iterable<ExtendedEdge> ite = node.getEdgeSet();the method will return an Iterable<ExtendedEdge>. If no left part exists, method will just return an Iterable<Edge>.
<T extends Edge> Iterable<T> getEachLeavingEdge()
This method is implicitly generic and return an Iterable over something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
Iterable<ExtendedEdge> ite = node.getLeavingEdgeSet();the method will return an Iterable<ExtendedEdge>. If no left part exists, method will just return an Iterable<Edge>.
<T extends Edge> Iterable<T> getEachEnteringEdge()
This method is implicitly generic and return an Iterable over something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
Iterable<ExtendedEdge> ite = node.getEnteringEdgeSet();the method will return an Iterable<ExtendedEdge>. If no left part exists, method will just return an Iterable<Edge>.
<T extends Edge> Collection<T> getEdgeSet()
This method is implicitly generic and return an Iterable over something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
Iterable<ExtendedEdge> ite = node.getEdgeSet();the method will return an Iterable<ExtendedEdge>. If no left part exists, method will just return an Iterable<Edge>.
<T extends Edge> Collection<T> getLeavingEdgeSet()
This method is implicitly generic and return an Iterable over something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
Iterable<ExtendedEdge> ite = node.getLeavingEdgeSet();the method will return an Iterable<ExtendedEdge>. If no left part exists, method will just return an Iterable<Edge>.
<T extends Edge> Collection<T> getEnteringEdgeSet()
This method is implicitly generic and return an Iterable over something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
Iterable<ExtendedEdge> ite = node.getEnteringEdgeSet();the method will return an Iterable<ExtendedEdge>. If no left part exists, method will just return an Iterable<Edge>.
String toString()
boolean hasEdgeToward(Node node)
node
- The target node.boolean hasEdgeToward(int index) throws IndexOutOfBoundsException
index
- Index of the target node.IndexOutOfBoundsException
- if the index is negative or greater than getNodeCount() - 1
.boolean hasEdgeFrom(Node node)
node
- The source node.boolean hasEdgeFrom(int index) throws IndexOutOfBoundsException
index
- Index of the source node.IndexOutOfBoundsException
- if the index is negative or greater than getNodeCount() - 1
.boolean hasEdgeBetween(Node node)
node
- Another node.boolean hasEdgeBetween(int index) throws IndexOutOfBoundsException
index
- Index of another node.IndexOutOfBoundsException
- if the index is negative or greater than getNodeCount() - 1
.<T extends Edge> T getEdgeToward(Node node)
This method selects only edges leaving this node an pointing at the parameter node (this also selects undirected edges).
This method is implicitly generic and returns something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdgeToward(...);the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
node
- The target node.<T extends Edge> T getEdgeToward(int index) throws IndexOutOfBoundsException
This method selects only edges leaving this node an pointing at the parameter node (this also selects undirected edges).
This method is implicitly generic and returns something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdgeToward(...);the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
index
- Index of the target node.IndexOutOfBoundsException
- if the index is negative or greater than getNodeCount() - 1
.<T extends Edge> T getEdgeFrom(Node node)
This method selects only edges leaving the other node an pointing at this node (this also selects undirected edges).
This method is implicitly generic and returns something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdgeFrom(...);the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
node
- The source node.<T extends Edge> T getEdgeFrom(int index) throws IndexOutOfBoundsException
This method selects only edges leaving the other node an pointing at this node (this also selects undirected edges).
This method is implicitly generic and returns something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdgeFrom("...");the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
index
- Index of the source node.IndexOutOfBoundsException
- if the index is negative or greater than getNodeCount() - 1
.<T extends Edge> T getEdgeBetween(Node node)
This method selects directed or undirected edges. If the edge is directed, its direction is not important and leaving or entering edges will be selected.
This method is implicitly generic and return something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdgeBetween(...);the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
node
- The opposite node.<T extends Edge> T getEdgeBetween(int index) throws IndexOutOfBoundsException
This method selects directed or undirected edges. If the edge is directed, its direction is not important and leaving or entering edges will be selected.
This method is implicitly generic and return something which extends Edge. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedEdge e = node.getEdgeBetween(...);the method will return an ExtendedEdge. If no left part exists, method will just return an Edge.
index
- The index of the opposite node.IndexOutOfBoundsException
- if the index is negative or greater than getNodeCount() - 1
.Copyright © 2015. All rights reserved.