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

## edu.uci.ics.jung.graph.impl
Class SparseTree

    java.lang.Object
      edu.uci.ics.jung.utils.UserDataDelegate
          edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph
              edu.uci.ics.jung.graph.impl.AbstractSparseGraph
                  edu.uci.ics.jung.graph.impl.SparseGraph
                      edu.uci.ics.jung.graph.impl.SparseTree

All Implemented Interfaces:
  ArchetypeGraph, Cloneable, DirectedGraph, Graph, UserDataContainer

public class SparseTree
extends SparseGraph
implements DirectedGraph

An implementation of `Graph` that consists of a `Vertex` set and a `DirectedEdge` set. Further, a vertex can have no more than one incoming directed edge (enforced with `TreePredicate`); the tree must define a root vertex at construction time. This implementation does NOT ALLOW parallel edges. `SimpleDirectedSparseVertex` is the most efficient vertex for this graph type.

Edge constraints imposed by this class: DIRECTED_EDGE, `TreePredicate`, NOT_PARALLEL_EDGE

For additional system and user constraints defined for this class, see the superclasses of this class.

Author:
  Danyel Fisher, Joshua O'Madadhain
See Also:
  `DirectedSparseVertex`, `DirectedSparseEdge`

Nested Class Summary

Nested classes inherited from class edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph
`AbstractArchetypeGraph.Requirements`

Nested classes inherited from class edu.uci.ics.jung.utils.UserDataContainer
`UserDataContainer.CopyAction`

Field Summary
`static Object` | `IN_TREE_KEY`
`protected Vertex` | `mRoot`
`static Object` | `SPARSE_ROOT_KEY`

Fields inherited from class edu.uci.ics.jung.graph.impl.AbstractSparseGraph
`mEdges, mVertices`

Fields inherited from class edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph
`edge_requirements, mEdgeIDs, mGraphListenerHandler, mVertexIDs, vertex_requirements`

Fields inherited from class edu.uci.ics.jung.utils.UserDataDelegate
`factory, udc_delegate`

Fields inherited from interface edu.uci.ics.jung.graph.Graph
`DIRECTED_EDGE, NOT_PARALLEL_EDGE, SIMPLE_EDGE, UNDIRECTED_EDGE`

Fields inherited from interface edu.uci.ics.jung.graph.ArchetypeGraph
`SUBSET_MANAGER`

Constructor Summary
`SparseTree(Vertex root)`

Method Summary
`Edge` | `addEdge(Edge e)` Adds `e` to this graph, and returns a reference to the added vertex.
`Vertex` | `getRoot()`

Methods inherited from class edu.uci.ics.jung.graph.impl.AbstractSparseGraph
`addVertex, getEdges, getVertices, initialize, isDirected, removeEdge, removeEdges, removeVertex, removeVertices`

Methods inherited from class edu.uci.ics.jung.graph.impl.AbstractArchetypeGraph
`addAllNotInitializers, addListener, checkConstraints, copy, getEdgeConstraints, getVertexConstraints, listenersExist, newInstance, numEdges, numVertices, removeAllEdges, removeAllVertices, removeListener, toString`

Methods inherited from class edu.uci.ics.jung.utils.UserDataDelegate
`addUserDatum, clone, containsUserDatumKey, getUserDatum, getUserDatumCopyAction, getUserDatumKeyIterator, importUserData, removeUserDatum, setUserDataFactory, setUserDatum`

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

Methods inherited from interface edu.uci.ics.jung.graph.Graph
`addVertex, isDirected, removeEdge, removeVertex`

Methods inherited from interface edu.uci.ics.jung.graph.ArchetypeGraph
`addListener, copy, getEdgeConstraints, getEdges, getVertexConstraints, getVertices, newInstance, numEdges, numVertices, removeAllEdges, removeAllVertices, removeEdges, removeListener, removeVertices`

Methods inherited from interface edu.uci.ics.jung.utils.UserDataContainer
`addUserDatum, clone, containsUserDatumKey, getUserDatum, getUserDatumCopyAction, getUserDatumKeyIterator, importUserData, removeUserDatum, setUserDatum`

Field Detail

### mRoot

    protected Vertex mRoot

### SPARSE_ROOT_KEY

    public static final Object SPARSE_ROOT_KEY

### IN_TREE_KEY

    public static final Object IN_TREE_KEY

Constructor Detail

### SparseTree

    public SparseTree(Vertex root)

Parameters:
  `root` -

Method Detail

### getRoot

    public Vertex getRoot()

  Returns:
    the root of this tree

### addEdge

    public Edge addEdge(Edge e)

  Description copied from interface: `Graph`
  Adds `e` to this graph, and returns a reference to the added vertex.

  Specified by:
    `addEdge` in interface `Graph`
  Overrides:
    `addEdge` in class `AbstractSparseGraph`
  See Also:
    `Graph.addEdge(edu.uci.ics.jung.graph.Edge)`

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