org.progeeks.graph.meta
Class GraphMetaObject

java.lang.Object
  extended by org.progeeks.util.beans.BeanChangeSupport
      extended by org.progeeks.meta.AbstractMetaObject
          extended by org.progeeks.graph.meta.GraphMetaObject
All Implemented Interfaces:
MetaObject, StandardBean

public class GraphMetaObject
extends AbstractMetaObject

Presents a MetaObject view of a node in a graph. A map is given that tells the meta-object how to traverse the graph to find the property values. Each map entry maps a property name to an EdgeDefinition object that can be used to view the graph. Any properties not found in the map will be passed on to the node itself if it is a meta-object.

Version:
$Revision: 1.6 $
Author:
Paul Speed

Nested Class Summary
 
Nested classes/interfaces inherited from class org.progeeks.meta.AbstractMetaObject
AbstractMetaObject.BaseListMutator
 
Constructor Summary
GraphMetaObject(com.phoenixst.plexus.Graph graph, java.lang.Object node, java.util.Map edgeDefs, MetaClass type)
           
 
Method Summary
protected  java.lang.String getEdgeProperty(com.phoenixst.plexus.Graph.Edge edge)
          Finds the appropriate property name for the specified edge.
protected  java.lang.Object getListPropertyValue(PropertyInfo info)
           
protected  java.lang.Object getPropertyValue(java.lang.String name)
          Overridden by subclasses to provide implementation-specific field-level access.
protected  void listPropertyValueAdded(PropertyInfo info, java.lang.Object value)
           
protected  void listPropertyValueRemoved(PropertyInfo info, java.lang.Object value)
           
protected  java.lang.Object setListPropertyValue(PropertyInfo info, java.util.Collection list)
           
protected  java.lang.Object setPropertyValue(java.lang.String name, java.lang.Object value)
          Overridden by subclasses to provide implementation-specific field-level access.
protected  java.lang.Object unwrapPropertyValue(java.lang.Object value, PropertyType type)
          Avoid all wrapping/unwrapping for the time-being.
protected  void updatePropertyValue(PropertyInfo info, java.lang.Object oldValue, java.lang.Object newValue)
           
protected  java.lang.Object wrapPropertyValue(java.lang.String name, PropertyType type, java.lang.Object value)
          Avoid all wrapping/unwrapping for the time-being.
 
Methods inherited from class org.progeeks.meta.AbstractMetaObject
cacheWrapper, createListMutator, createPropertyMutator, getCachedWrapper, getMetaClass, getMetaKit, getProperty, getPropertyMutator, readMetaClass, readResolve, release, setMetaClass, setMetaKit, setProperty, unwrapPropertyValue, writeMetaClass, writeReplace
 
Methods inherited from class org.progeeks.util.beans.BeanChangeSupport
addPropertyChangeListener, addPropertyChangeListener, clearAllListeners, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, hasListeners, hasListeners, removePropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.progeeks.meta.MetaObject
addPropertyChangeListener, addPropertyChangeListener, clearAllListeners, hasListeners, hasListeners, removePropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

GraphMetaObject

public GraphMetaObject(com.phoenixst.plexus.Graph graph,
                       java.lang.Object node,
                       java.util.Map edgeDefs,
                       MetaClass type)
Method Detail

setPropertyValue

protected java.lang.Object setPropertyValue(java.lang.String name,
                                            java.lang.Object value)
Description copied from class: AbstractMetaObject
Overridden by subclasses to provide implementation-specific field-level access.

Specified by:
setPropertyValue in class AbstractMetaObject

getPropertyValue

protected java.lang.Object getPropertyValue(java.lang.String name)
Description copied from class: AbstractMetaObject
Overridden by subclasses to provide implementation-specific field-level access.

Specified by:
getPropertyValue in class AbstractMetaObject

setListPropertyValue

protected java.lang.Object setListPropertyValue(PropertyInfo info,
                                                java.util.Collection list)

getListPropertyValue

protected java.lang.Object getListPropertyValue(PropertyInfo info)

wrapPropertyValue

protected java.lang.Object wrapPropertyValue(java.lang.String name,
                                             PropertyType type,
                                             java.lang.Object value)
Avoid all wrapping/unwrapping for the time-being.

Overrides:
wrapPropertyValue in class AbstractMetaObject

unwrapPropertyValue

protected java.lang.Object unwrapPropertyValue(java.lang.Object value,
                                               PropertyType type)
Avoid all wrapping/unwrapping for the time-being.


listPropertyValueAdded

protected void listPropertyValueAdded(PropertyInfo info,
                                      java.lang.Object value)

listPropertyValueRemoved

protected void listPropertyValueRemoved(PropertyInfo info,
                                        java.lang.Object value)

updatePropertyValue

protected void updatePropertyValue(PropertyInfo info,
                                   java.lang.Object oldValue,
                                   java.lang.Object newValue)

getEdgeProperty

protected java.lang.String getEdgeProperty(com.phoenixst.plexus.Graph.Edge edge)
Finds the appropriate property name for the specified edge.



Copyright © 2002-2003 Paul Speed. All Rights Reserved.