info.aduna.clustermap.graph
Class Graph

java.lang.Object
  extended by info.aduna.clustermap.graph.Graph

public class Graph
extends Object

A Graph is a view on a (hierarchy of) populated Classifications, based on the notion of a "cluster". A cluster contains Objects that have exactly the same Classification memberships with respect to a set of Classifications. As such, it provides a means to effectively and efficiently produce a visualization of this set of Classifications.

A Graph contains instances of subclasses of Vertex and Edge. It provides methods for the easy and efficient retrieval of certain parts of the graph structure, such as the collection of all vertices representing Classifications or Objects.

The structure of a Graph is as follows: the hierarchy of Classifications is represented by ClassificationVertices and ClassificationEdges. ClassificationEdges are Edges that point from the superclass to the subclass. For every possible subset of these Classifications there is a ClusterVertex, unless there are no Objects with exactly that configuration of Classification memberships. Each ClusterVertex has references to its corresponding Classifications, as well as to the Objects with that classification. A ClusterVertex is connected to the ClassificationVertices representing its classification through ClusterEdges. These ClusterEdges point from the ClassificationVertices to the ClusterVertices. Finally, all Objects are represented by ObjectVertices, which are not connected to any other Vertices (at least, not using Edges).


Constructor Summary
Graph()
          Create an initially empty Graph.
Graph(ClusterModel clusterModel)
          Create a Graph whose contents is based on the specified ClusterModel.
 
Method Summary
 void add(ClassificationEdge edge)
           
 void add(ClassificationVertex vertex)
           
 void add(ClusterEdge edge)
           
 void add(ClusterVertex vertex)
           
 ArrayList<ClassificationEdge> getClassificationEdges()
           
 ArrayList<ClassificationVertex> getClassificationVertices()
           
 ArrayList<ClusterEdge> getClusterEdges()
           
 ClusterModel getClusterModel()
           
 ArrayList<ClusterVertex> getClusterVertices()
           
 ArrayList<Graph> getConnectedSubgraphs()
          Returns a List of Graphs containing disjoint subsets of the Vertices and Edges of this Graph, so that within each one of these Graphs there is a path between each pair of Vertices (ignoring directionality) but there are no connections to Vertices from other Graphs.
 ArrayList<Edge> getEdges()
           
 GraphRenderer getGraphRenderer()
           
 ClassificationVertex getVertexFor(Classification classification)
           
 ClusterVertex getVertexFor(Cluster cluster)
           
 ArrayList<Vertex> getVertices()
           
 void setGraphRenderer(GraphRenderer renderer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Graph

public Graph()
Create an initially empty Graph.


Graph

public Graph(ClusterModel clusterModel)
Create a Graph whose contents is based on the specified ClusterModel.

Method Detail

getVertices

public ArrayList<Vertex> getVertices()

getEdges

public ArrayList<Edge> getEdges()

getClusterModel

public ClusterModel getClusterModel()

getClusterVertices

public ArrayList<ClusterVertex> getClusterVertices()

getClassificationVertices

public ArrayList<ClassificationVertex> getClassificationVertices()

getClusterEdges

public ArrayList<ClusterEdge> getClusterEdges()

getClassificationEdges

public ArrayList<ClassificationEdge> getClassificationEdges()

setGraphRenderer

public void setGraphRenderer(GraphRenderer renderer)

getGraphRenderer

public GraphRenderer getGraphRenderer()

getVertexFor

public ClusterVertex getVertexFor(Cluster cluster)

getVertexFor

public ClassificationVertex getVertexFor(Classification classification)

add

public void add(ClusterVertex vertex)

add

public void add(ClassificationVertex vertex)

add

public void add(ClusterEdge edge)

add

public void add(ClassificationEdge edge)

getConnectedSubgraphs

public ArrayList<Graph> getConnectedSubgraphs()
Returns a List of Graphs containing disjoint subsets of the Vertices and Edges of this Graph, so that within each one of these Graphs there is a path between each pair of Vertices (ignoring directionality) but there are no connections to Vertices from other Graphs.



Copyright © 1997-2008 Aduna. All Rights Reserved.