infovis.tree
Class TreeAsGraph

java.lang.Object
  extended by infovis.utils.ChangeManager
      extended by infovis.column.AbstractColumn
          extended by infovis.column.ColumnProxy
              extended by infovis.table.TableProxy
                  extended by infovis.table.DynamicTableProxy
                      extended by infovis.tree.TreeProxy
                          extended by infovis.tree.TreeAsGraph
All Implemented Interfaces:
IntComparator, Column, DynamicTable, Graph, Metadata, Constants, Table, Tree, RowComparator, Serializable, EventListener, ChangeListener, TableModelListener, TreeModelListener, TableModel, TreeModel

public class TreeAsGraph
extends TreeProxy
implements Graph, TreeModelListener

Class TreeAsGraph

Version:
$Revision: 1.9 $
Author:
Jean-Daniel Fekete
See Also:
Serialized Form

Field Summary
 
Fields inherited from class infovis.column.AbstractColumn
MODIFIED_ALL, MODIFIED_NONE
 
Fields inherited from interface infovis.Graph
GRAPH_TYPE, GRAPH_TYPE_DIRECTED, GRAPH_TYPE_UNDIRECTED, NIL
 
Fields inherited from interface infovis.metadata.Constants
CONTRIBUTOR, COVERAGE, CREATOR, DATE, DESCRITION, FORMAT, IDENTIFIER, LANGUAGE, PUBLISHER, RELATION, RIGHTS, SOURCE, SUBJECT, TITLE, TYPE
 
Fields inherited from interface infovis.Tree
ROOT, TREE_METADATA
 
Fields inherited from interface infovis.Table
FILTER_COLUMN, INTERNAL_PREFIX, NIL, SELECTION_COLUMN
 
Constructor Summary
TreeAsGraph(Tree tree)
           
 
Method Summary
 int addEdge(int v1, int v2)
          Adds a new edge between two vertices.
 void addGraphChangedListener(GraphChangedListener l)
          Attaches a GraphChangedListener to the graph.
 int addVertex()
          Adds a new "in" vertex to the graph.
 void dispose()
          Releases all the resources maintained by this proxy column.
 RowIterator edgeIterator()
          Returns an iterator over the edges of the graph.
 RowIterator edgeIterator(int vertex)
          Returns an iterator over all the edges (incoming and outgoing) of a specified vertex.
 int findEdge(int v1, int v2)
          Returns an edge between two specified vertices.
 int getDegree(int vertex)
          Returns the degree of the vertex, which is inDegree + outDegree.
 int getEdge(int v1, int v2)
          Returns an edge between two specified vertices.
 int getEdgesCount()
          Returns the number of edges in the graph.
 DynamicTable getEdgeTable()
          Returns the edgeTable.
 int getFirstVertex(int edge)
          Returns the first vertex of the specified edge.
 int getInDegree(int vertex)
          Returns the in degree of the vertex, which is simply the number of incoming edges at the vertex.
 int getInEdgeAt(int vertex, int index)
          Returns the incoming edge of a specified vertrex at a specified index.
 int getOtherVertex(int edge, int vertex)
          Given a specified edge and a vertex on one side of this edge, returns the vertex on the other side.
 int getOutDegree(int vertex)
          Returns the out degree of the vertex, which is simply the number of outgoing edges of the vertex.
 int getOutEdgeAt(int vertex, int index)
          Returns the outgoing edge of a specified vertex at a specified index.
 int getSecondVertex(int edge)
          Returns the second vertex of an edge.
 DynamicTable getVertexTable()
          Returns the vertex Table.
 int getVerticesCount()
          Returns the number of vertices in the graph.
 RowIterator inEdgeIterator(int vertex)
          Returns an iterator over the incoming edges of specified vertex.
 boolean isDirected()
          Returns true if the graph is directed.
 RowIterator outEdgeIterator(int vertex)
          Returns an iterator over the outgoing edges of a specified vertex.
 void removeEdge(int edge)
          Removes the specified edge.
 void removeGraphChangedListener(GraphChangedListener l)
          Removes a GraphChangedListener from the graph.
 void removeVertex(int vertex)
          Removes the specified vertex from the graph.
 void setDirected(boolean directed)
          Sets the graph to directed or undirected.
 boolean shouldFire()
           
 void treeNodesChanged(TreeModelEvent e)
           
 void treeNodesInserted(TreeModelEvent ev)
           
 void treeNodesRemoved(TreeModelEvent e)
           
 void treeStructureChanged(TreeModelEvent e)
           
 RowIterator vertexIterator()
          Returns an iterator over the vertices of the graph.
 
Methods inherited from class infovis.tree.TreeProxy
addNode, addTreeModelListener, childrenIterator, getChild, getChild, getChildCount, getChildCount, getDepth, getIndexOfChild, getNodeCount, getParent, getRoot, getTree, isAncestor, isLeaf, isLeaf, nextNode, removeNode, removeTreeModelListener, reparent, valueForPathChanged
 
Methods inherited from class infovis.table.DynamicTableProxy
addRow, getDynamicTable, removeRow
 
Methods inherited from class infovis.table.TableProxy
addColumn, addTableModelListener, clear, getColumn, getColumnAt, getColumnClass, getColumnCount, getColumnName, getLastRow, getRowCount, getTable, getValueAt, indexOf, indexOf, isCellEditable, isRowValid, removeColumn, removeTableModelListener, reverseIterator, setColumnAt, setValueAt, tableChanged
 
Methods inherited from class infovis.column.ColumnProxy
addValue, addValueOrNull, capacity, compare, ensureCapacity, getClientProperty, getFormat, getMaxIndex, getMetadata, getMinIndex, getName, getValueAt, getValueClass, hasUndefinedValue, isEmpty, isInternal, isValueUndefined, iterator, setFormat, setName, setSize, setValueAt, setValueOrNullAt, setValueUndefined, size, stateChanged
 
Methods inherited from class infovis.column.AbstractColumn
addChangeListener, compareValues, computeValueMap, computeValueMap, equalObj, equals, getLastModifiedRow, toString
 
Methods inherited from class infovis.utils.ChangeManager
disableNotify, enableNotify, getModCount, removeChangeListener
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface infovis.Graph
clear, getName, setName
 
Methods inherited from interface infovis.Metadata
getClientProperty, getMetadata
 
Methods inherited from interface infovis.DynamicTable
addRow, removeRow
 
Methods inherited from interface infovis.Table
addColumn, clear, getColumn, getColumnAt, getColumnCount, getLastRow, getRowCount, getTable, indexOf, indexOf, isRowValid, removeColumn, reverseIterator, setColumnAt
 
Methods inherited from interface infovis.Column
addChangeListener, addValue, addValueOrNull, capacity, disableNotify, enableNotify, ensureCapacity, getFormat, getMaxIndex, getMinIndex, getName, getValueAt, getValueClass, hasUndefinedValue, isEmpty, isInternal, isValueUndefined, iterator, removeChangeListener, setFormat, setName, setSize, setValueAt, setValueOrNullAt, setValueUndefined, size
 
Methods inherited from interface cern.colt.function.IntComparator
compare, equals
 
Methods inherited from interface javax.swing.table.TableModel
addTableModelListener, getColumnClass, getColumnName, getValueAt, isCellEditable, removeTableModelListener, setValueAt
 

Constructor Detail

TreeAsGraph

public TreeAsGraph(Tree tree)
Method Detail

dispose

public void dispose()
Description copied from class: ColumnProxy
Releases all the resources maintained by this proxy column.

Overrides:
dispose in class ColumnProxy

isDirected

public boolean isDirected()
Description copied from interface: Graph
Returns true if the graph is directed.

Specified by:
isDirected in interface Graph
Returns:
true if the graph is directed.

setDirected

public void setDirected(boolean directed)
Description copied from interface: Graph
Sets the graph to directed or undirected.

Specified by:
setDirected in interface Graph
Parameters:
directed - boolean specifying whether the graph is directed or not.

getVerticesCount

public int getVerticesCount()
Description copied from interface: Graph
Returns the number of vertices in the graph.

Specified by:
getVerticesCount in interface Graph
Returns:
The number of vertices in the graph.

addVertex

public int addVertex()
Description copied from interface: Graph
Adds a new "in" vertex to the graph.

Specified by:
addVertex in interface Graph
Returns:
the "in" vertex number.

removeVertex

public void removeVertex(int vertex)
Description copied from interface: Graph
Removes the specified vertex from the graph.

Specified by:
removeVertex in interface Graph
Parameters:
vertex - the vertex to remove

getEdgesCount

public int getEdgesCount()
Description copied from interface: Graph
Returns the number of edges in the graph.

Specified by:
getEdgesCount in interface Graph
Returns:
the number of edges in the graph.

addEdge

public int addEdge(int v1,
                   int v2)
Description copied from interface: Graph
Adds a new edge between two vertices.

Specified by:
addEdge in interface Graph
Parameters:
v1 - the first vertex.
v2 - the second vertex.
Returns:
the new edge index.

removeEdge

public void removeEdge(int edge)
Description copied from interface: Graph
Removes the specified edge.

Specified by:
removeEdge in interface Graph
Parameters:
edge - the edge to remove

getFirstVertex

public int getFirstVertex(int edge)
Description copied from interface: Graph
Returns the first vertex of the specified edge. When the graph is directed, this is the source vertex.

Specified by:
getFirstVertex in interface Graph
Parameters:
edge - the edge.
Returns:
the first vertex of an edge or NIL.

getSecondVertex

public int getSecondVertex(int edge)
Description copied from interface: Graph
Returns the second vertex of an edge. When the graph is directed, this is the destination/target vertex.

Specified by:
getSecondVertex in interface Graph
Parameters:
edge - the edge.
Returns:
the second vertex of the edge.

getOtherVertex

public int getOtherVertex(int edge,
                          int vertex)
Description copied from interface: Graph
Given a specified edge and a vertex on one side of this edge, returns the vertex on the other side. If the specified vertex is the first vertex, it returns the second and vice versa.

Specified by:
getOtherVertex in interface Graph
Parameters:
edge - the edge
vertex - the vertex
Returns:
the other vertex or NIL if the vertex is not on any side of the edge.

getOutEdgeAt

public int getOutEdgeAt(int vertex,
                        int index)
Description copied from interface: Graph
Returns the outgoing edge of a specified vertex at a specified index.

Specified by:
getOutEdgeAt in interface Graph
Parameters:
vertex - the in vertex of the requested edge
index - the index of the edge in the edge list of the vertex
Returns:
the outgoing edge of a specified vertex at a specified index or NIL.

getInEdgeAt

public int getInEdgeAt(int vertex,
                       int index)
Description copied from interface: Graph
Returns the incoming edge of a specified vertrex at a specified index.

Specified by:
getInEdgeAt in interface Graph
Parameters:
vertex - the out vertex of the requested edge
index - the index of the edge in the edge list of the vertex
Returns:
the incoming edge of a specified vertex at a specified index or NIL.

getEdge

public int getEdge(int v1,
                   int v2)
Description copied from interface: Graph
Returns an edge between two specified vertices.

Specified by:
getEdge in interface Graph
Parameters:
v1 - the first vertex.
v2 - the second vertex.
Returns:
an edge between two specified vertices or NIL if none exists.

findEdge

public int findEdge(int v1,
                    int v2)
Description copied from interface: Graph
Returns an edge between two specified vertices.

Specified by:
findEdge in interface Graph
Parameters:
v1 - the first vertex.
v2 - the second vertex.
Returns:
an edge between two specified vertices creating one if none exists.

getOutDegree

public int getOutDegree(int vertex)
Description copied from interface: Graph
Returns the out degree of the vertex, which is simply the number of outgoing edges of the vertex.

Specified by:
getOutDegree in interface Graph
Parameters:
vertex - the vertex.
Returns:
The out degree of the vertex.

getDegree

public int getDegree(int vertex)
Description copied from interface: Graph
Returns the degree of the vertex, which is inDegree + outDegree.

Specified by:
getDegree in interface Graph
Parameters:
vertex - the vertex.
Returns:
The degree of the vertex.

outEdgeIterator

public RowIterator outEdgeIterator(int vertex)
Description copied from interface: Graph
Returns an iterator over the outgoing edges of a specified vertex.

Specified by:
outEdgeIterator in interface Graph
Parameters:
vertex - the vertex.
Returns:
the iterator over the outgoing edges of the vertex.

edgeIterator

public RowIterator edgeIterator(int vertex)
Description copied from interface: Graph
Returns an iterator over all the edges (incoming and outgoing) of a specified vertex.

Specified by:
edgeIterator in interface Graph
Parameters:
vertex - the vertex.
Returns:
the iterator over all the edges of the vertex.

getInDegree

public int getInDegree(int vertex)
Description copied from interface: Graph
Returns the in degree of the vertex, which is simply the number of incoming edges at the vertex.

Specified by:
getInDegree in interface Graph
Parameters:
vertex - the vertex.
Returns:
The number of incoming edges at this vertex.

inEdgeIterator

public RowIterator inEdgeIterator(int vertex)
Description copied from interface: Graph
Returns an iterator over the incoming edges of specified vertex.

Specified by:
inEdgeIterator in interface Graph
Parameters:
vertex - the vertex
Returns:
an iterator over the incoming edges of the specified vertex

vertexIterator

public RowIterator vertexIterator()
Description copied from interface: Graph
Returns an iterator over the vertices of the graph.

Specified by:
vertexIterator in interface Graph
Returns:
an iterator over the vertices of the graph

edgeIterator

public RowIterator edgeIterator()
Description copied from interface: Graph
Returns an iterator over the edges of the graph.

Specified by:
edgeIterator in interface Graph
Returns:
an iterator over the edges of the graph

getEdgeTable

public DynamicTable getEdgeTable()
Description copied from interface: Graph
Returns the edgeTable.

Specified by:
getEdgeTable in interface Graph
Returns:
DefaultTable

getVertexTable

public DynamicTable getVertexTable()
Description copied from interface: Graph
Returns the vertex Table.

Specified by:
getVertexTable in interface Graph
Returns:
the vertex Table

addGraphChangedListener

public void addGraphChangedListener(GraphChangedListener l)
Description copied from interface: Graph
Attaches a GraphChangedListener to the graph.

Specified by:
addGraphChangedListener in interface Graph
Parameters:
l - the GraphChangedListener to notify when the graph structure changes.

removeGraphChangedListener

public void removeGraphChangedListener(GraphChangedListener l)
Description copied from interface: Graph
Removes a GraphChangedListener from the graph.

Specified by:
removeGraphChangedListener in interface Graph
Parameters:
l - the GraphChangedListener to remove

shouldFire

public boolean shouldFire()

treeNodesChanged

public void treeNodesChanged(TreeModelEvent e)
Specified by:
treeNodesChanged in interface TreeModelListener

treeNodesInserted

public void treeNodesInserted(TreeModelEvent ev)
Specified by:
treeNodesInserted in interface TreeModelListener

treeNodesRemoved

public void treeNodesRemoved(TreeModelEvent e)
Specified by:
treeNodesRemoved in interface TreeModelListener

treeStructureChanged

public void treeStructureChanged(TreeModelEvent e)
Specified by:
treeStructureChanged in interface TreeModelListener


Copyright 2005 by Jean-Daniel Fekete and INRIA, France All rights reserved.