public class AbstractEdge extends AbstractElement implements Edge
This class provides a basic implementation of Edge
interface, to
minimize the effort required to implement this interface.
Although this class is abstract it implements all the methods of
Edge
and
AbstractElement
. It has a low
memory overhead (3 references and a boolean as fields). All Edge
methods are executed in O(1) time.
AbstractElement.AttributeChangeEvent
Modifier and Type | Method and Description |
---|---|
<T extends Node> |
getNode0()
First node of the edge.
|
<T extends Node> |
getNode1()
Second node of the edge.
|
<T extends Node> |
getOpposite(Node node)
When knowing one node and one edge of this node, this method return the
node at the other end of the edge.
|
<T extends Node> |
getSourceNode()
Start node.
|
<T extends Node> |
getTargetNode()
End node.
|
boolean |
isDirected()
Is the edge directed ?.
|
boolean |
isLoop()
Does the source and target of this edge identify the same node ?.
|
String |
toString()
Override the Object 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
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
public String toString()
AbstractElement
toString
in class AbstractElement
public <T extends Node> T getNode0()
Edge
This is equivalent to the Edge.getSourceNode()
method, but may be
clearer in the source code if the graph you are using is not directed.
This method is implicitly generic and return something which extends Node. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedNode n = edge.getNode0();the method will return an ExtendedNode. If no left part exists, method will just return a Node.
getNode0
in interface Edge
Edge.getNode1()
,
Edge.getSourceNode()
public <T extends Node> T getNode1()
Edge
This is equivalent to the Edge.getTargetNode()
method, but may be
clearer in the source code if the graph you are using is not directed.
This method is implicitly generic and return something which extends Node. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedNode n = edge.getNode1();the method will return an ExtendedNode. If no left part exists, method will just return a Node.
getNode1
in interface Edge
Edge.getNode0()
,
Edge.getTargetNode()
public <T extends Node> T getOpposite(Node node)
Edge
Return null if the given node is not at any end of the edge.
This method is implicitly generic and return something which extends Node. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedNode n = edge.getOppositeNode((ExtendedNode) m);the method will return an ExtendedNode. If no left part exists, method will just return a Node.
getOpposite
in interface Edge
node
- The node we search the opposite of.public <T extends Node> T getSourceNode()
Edge
When the edge is directed this is the source node, in this case you can
get the opposite node using Edge.getTargetNode()
. This is equivalent
to the Edge.getNode0()
method but may be clearer in the source code
if the graph you are using is directed.
This method is implicitly generic and return something which extends Node. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedNode n = edge.getSourceNode();the method will return an ExtendedNode. If no left part exists, method will just return a Node.
getSourceNode
in interface Edge
Edge.getNode0()
,
Edge.getTargetNode()
public <T extends Node> T getTargetNode()
Edge
When the edge is directed this is the target node, in this case you can
get the opposite node using Edge.getSourceNode()
. This is equivalent
to the Edge.getNode1()
method but may be clearer in the source code
if the graph you are using is directed.
This method is implicitly generic and return something which extends Node. The return type is the one of the left part of the assignment. For example, in the following call :
ExtendedNode n = edge.getTargetNode();the method will return an ExtendedNode. If no left part exists, method will just return a Node.
getTargetNode
in interface Edge
Edge.getNode1()
,
Edge.getSourceNode()
public boolean isDirected()
Edge
isDirected
in interface Edge
Copyright © 2015. All rights reserved.