Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.lib.graph
Class Edge

    java.lang.Object
      org.apache.openjpa.lib.graph.Edge

    public class Edge

extends Object

A graph edge. Includes the from and to nodes, an arbitrary user object, and a weight. Edges can be either directed or undirected.

Since:
  1.0.0
Author:
  Abe White

Field Summary
`static int` | `TYPE_BACK` An edge (u, v) is a back edge if it creates a cycle back to an ancestor in the graph.
`static int` | `TYPE_FORWARD` An edge (u, v) is a forward edge if it is not a tree or back edge.
`static int` | `TYPE_TREE` An edge (u, v) is a tree edge if node v was first discovered by traversing the edge.

Constructor Summary
`Edge(Object from, Object to, boolean directed)` Constructor.
`Edge(Object from, Object to, boolean directed, Object userObject)` Constructor.

Method Summary
`void` | `clearTraversal()` Clear traversal info.
`List<Edge>` | `getCycle()` List of edges forming a cycle.
`Object` | `getFrom()` Return the node the edge links from.
`Object` | `getOther(Object node)` Return the node on the opposite end of the given one, or null if the given node is not part of this edge.
`Object` | `getTo()` Return the node the edge links to.
`int` | `getType()` Traversal bookkeeping info.
`Object` | `getUserObject()` Arbitrary user object associated with the edge.
`double` | `getWeight()` Return the weight of the edge.
`boolean` | `isDirected()` Return whether the edge is directed.
`boolean` | `isFrom(Object node)` Return true if this edge links from the given node.
`boolean` | `isRemovedFromGraph()` Returns if this edge is (still) part of the graph.
`boolean` | `isTo(Object node)` Return true if this edge links to the given node.
`void` | `setCycle(List<Edge> cycle)` List of edges forming a cycle.
`void` | `setRemovedFromGraph()` Mark this edge as removed from the graph.
`void` | `setType(int type)` Traversal bookkeeping info.
`void` | `setUserObject(Object obj)` Arbitrary user object associated with the edge.
`void` | `setWeight(double weight)` Set the weight of the edge.
`String` | `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### TYPE_TREE

    public static final int TYPE_TREE

  An edge (u, v) is a tree edge if node v was first discovered by traversing the edge.

  See Also:
    Constant Field Values

### TYPE_BACK

    public static final int TYPE_BACK

  An edge (u, v) is a back edge if it creates a cycle back to an ancestor in the graph.

  See Also:
    Constant Field Values

### TYPE_FORWARD

    public static final int TYPE_FORWARD

  An edge (u, v) is a forward edge if it is not a tree or back edge.

  See Also:
    Constant Field Values

Constructor Detail

### Edge

    public Edge(Object from,
                Object to,
                boolean directed)

  Constructor.

  Parameters:
    `from` - the node the edge comes from
    `to` - the node the edge goes to
    `directed` - whether the edge is directed

### Edge

    public Edge(Object from,
                Object to,
                boolean directed,
                Object userObject)

  Constructor.

  Parameters:
    `from` - the node the edge comes from
    `to` - the node the edge goes to
    `directed` - whether the edge is directed
    `userObject` - an associated object

Method Detail

### getFrom

    public Object getFrom()

  Return the node the edge links from.

### getTo

    public Object getTo()

  Return the node the edge links to.

### getOther

    public Object getOther(Object node)

  Return the node on the opposite end of the given one, or null if the given node is not part of this edge.

### isTo

    public boolean isTo(Object node)

  Return true if this edge links to the given node. For undirected edges, this method returns true if either side is equal to the given node.

### isFrom

    public boolean isFrom(Object node)

  Return true if this edge links from the given node. For undirected edges, this method returns true if either side is equal to the given node.

### isDirected

    public boolean isDirected()

  Return whether the edge is directed.

### getWeight

    public double getWeight()

  Return the weight of the edge.

### setWeight

    public void setWeight(double weight)

  Set the weight of the edge.

### getUserObject

    public Object getUserObject()

  Arbitrary user object associated with the edge.

### setUserObject

    public void setUserObject(Object obj)

  Arbitrary user object associated with the edge.

### getType

    public int getType()

  Traversal bookkeeping info.

### setType

    public void setType(int type)

  Traversal bookkeeping info.

### getCycle

    public List<Edge> getCycle()

  List of edges forming a cycle. Only set for TYPE_BACK and TYPE_FORWARD edges.

### setCycle

    public void setCycle(List<Edge> cycle)

  List of edges forming a cycle. Only set for TYPE_BACK and TYPE_FORWARD edges.

### isRemovedFromGraph

    public boolean isRemovedFromGraph()

  Returns if this edge is (still) part of the graph.

### setRemovedFromGraph

    public void setRemovedFromGraph()

  Mark this edge as removed from the graph.

### clearTraversal

    public void clearTraversal()

  Clear traversal info.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.