diva.graph.modular
Class BasicModularGraphModel

java.lang.Object
  extended by diva.graph.AbstractGraphModel
      extended by diva.graph.modular.ModularGraphModel
          extended by diva.graph.modular.MutableModularGraphModel
              extended by diva.graph.modular.BasicModularGraphModel
All Implemented Interfaces:
GraphModel, MutableGraphModel
Direct Known Subclasses:
BasicGraphModel

public class BasicModularGraphModel
extends MutableModularGraphModel

A modular implementation of the graph model, whereby users with heterogeneous graphs can implement the graph model interface by implementing the simple interfaces of Graph, Node, CompositeNode, and Edge.

Version:
$Id: BasicModularGraphModel.java 47561 2007-12-16 07:29:50Z cxh $
Author:
Michael Shilman
Accepted Rating:
Red

Nested Class Summary
static class BasicModularGraphModel.BasicEdgeModel
           
static class BasicModularGraphModel.BasicNodeModel
           
 
Field Summary
private  BasicModularGraphModel.BasicEdgeModel _edgeModel
          The edge model
private  BasicModularGraphModel.BasicNodeModel _nodeModel
          The node model
 
Fields inherited from class diva.graph.AbstractGraphModel
_graphListeners
 
Constructor Summary
BasicModularGraphModel(Graph root)
          Construct an empty graph model whose root is the given semantic object.
 
Method Summary
 CompositeModel getCompositeModel(java.lang.Object composite)
          Return the model for the given composite object.
 EdgeModel getEdgeModel(java.lang.Object edge)
          Return the model for the given edge object.
 NodeModel getNodeModel(java.lang.Object node)
          Return the node model for the given object.
 java.lang.Object getProperty(java.lang.Object o, java.lang.String propertyName)
          Return the property of the object associated with the given property name.
 java.lang.Object getSemanticObject(java.lang.Object o)
          Return the semantic object corresponding to the given node, edge, or composite.
 void setProperty(java.lang.Object o, java.lang.String propertyName, java.lang.Object value)
          Set the property of the object associated with the given property name.
 void setSemanticObject(java.lang.Object o, java.lang.Object sem)
          Set the semantic object corresponding to the given node, edge, or composite.
 
Methods inherited from class diva.graph.modular.MutableModularGraphModel
acceptHead, acceptTail, addNode, connectEdge, disconnectEdge, getMutableEdgeModel, getMutableNodeModel, removeNode, setEdgeHead, setEdgeTail
 
Methods inherited from class diva.graph.modular.ModularGraphModel
containsNode, getHead, getNodeCount, getParent, getRoot, getTail, inEdges, isComposite, isDirected, isEdge, isNode, nodes, nodesAfterEdges, nodesBeforeEdges, outEdges
 
Methods inherited from class diva.graph.AbstractGraphModel
addGraphListener, dispatchGraphEvent, removeGraphListener, setDispatchEnabled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface diva.graph.GraphModel
addGraphListener, containsNode, dispatchGraphEvent, getHead, getNodeCount, getParent, getRoot, getTail, inEdges, isComposite, isDirected, isEdge, isNode, nodes, nodesAfterEdges, nodesBeforeEdges, outEdges, removeGraphListener, setDispatchEnabled
 

Field Detail

_nodeModel

private BasicModularGraphModel.BasicNodeModel _nodeModel
The node model


_edgeModel

private BasicModularGraphModel.BasicEdgeModel _edgeModel
The edge model

Constructor Detail

BasicModularGraphModel

public BasicModularGraphModel(Graph root)
Construct an empty graph model whose root is the given semantic object.

Method Detail

getCompositeModel

public CompositeModel getCompositeModel(java.lang.Object composite)
Return the model for the given composite object. If the object is not a composite, meaning that it does not contain other nodes, then return null.

Specified by:
getCompositeModel in class ModularGraphModel

getEdgeModel

public EdgeModel getEdgeModel(java.lang.Object edge)
Return the model for the given edge object. If the object is not an edge, then return null.

Specified by:
getEdgeModel in class ModularGraphModel

getNodeModel

public NodeModel getNodeModel(java.lang.Object node)
Return the node model for the given object. If the object is not a node, then return null.

Specified by:
getNodeModel in class ModularGraphModel

getProperty

public java.lang.Object getProperty(java.lang.Object o,
                                    java.lang.String propertyName)
Return the property of the object associated with the given property name.

Specified by:
getProperty in interface GraphModel
Specified by:
getProperty in class ModularGraphModel

getSemanticObject

public java.lang.Object getSemanticObject(java.lang.Object o)
Return the semantic object corresponding to the given node, edge, or composite.

Specified by:
getSemanticObject in interface GraphModel
Specified by:
getSemanticObject in class ModularGraphModel

setProperty

public void setProperty(java.lang.Object o,
                        java.lang.String propertyName,
                        java.lang.Object value)
Set the property of the object associated with the given property name.

Specified by:
setProperty in interface GraphModel
Specified by:
setProperty in class ModularGraphModel

setSemanticObject

public void setSemanticObject(java.lang.Object o,
                              java.lang.Object sem)
Set the semantic object corresponding to the given node, edge, or composite.

Specified by:
setSemanticObject in interface GraphModel
Specified by:
setSemanticObject in class ModularGraphModel