org.progeeks.meta.beans
Class BeanMetaObject

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

public class BeanMetaObject
extends AbstractMetaObject
implements java.io.Serializable

MetaObject implementation for interacting with standard Java beans.

Version:
$Revision: 1.44 $
Author:
Paul Speed
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.progeeks.meta.AbstractMetaObject
AbstractMetaObject.BaseListMutator
 
Constructor Summary
BeanMetaObject(java.lang.Object bean, MetaClass metaClass)
           
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener l)
          Overridden to add a listener to the contained bean when the first change listener is added.
 void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener l)
          Adds a property change listener that will be notified whenever the specified property changes.
protected  ListMutator createListMutator(java.lang.String name, ListPropertyType type)
          Creates a BeanListMutator that provides advanced access to multi-valued bean properties.
protected  void dispatchEvent(java.beans.PropertyChangeEvent event)
          Back-door into the event delivery chain.
 boolean equals(java.lang.Object obj)
           
protected  java.lang.Object getBean()
          Provides access to the bean to local MetaKit and possibly subclasses.
protected  java.lang.Object getPropertyValue(java.lang.String name)
          Overridden by subclasses to provide implementation-specific field-level access.
 int hashCode()
           
 void propertyChanged(java.lang.String name, java.lang.Object oldValue)
          Notifies listeners that the property value has changed outside of the BeanMetaObject's control.
 void release()
          Releases any internal resources that may be held by the underlying implementation.
 void setProperty(java.lang.String name, java.lang.Object value)
          Overridden to prevent redundant change notifications from being delivered by the bean.
protected  java.lang.Object setPropertyValue(java.lang.String name, java.lang.Object value)
          Used a bean-inspector to set the property and does some checks to make sure property changes are propagated correctly even if the bean's internal reference hasn't changed.
 java.lang.String toString()
           
 
Methods inherited from class org.progeeks.meta.AbstractMetaObject
cacheWrapper, createPropertyMutator, getCachedWrapper, getMetaClass, getMetaKit, getProperty, getPropertyMutator, readMetaClass, readResolve, setMetaClass, setMetaKit, unwrapPropertyValue, wrapPropertyValue, writeMetaClass, writeReplace
 
Methods inherited from class org.progeeks.util.beans.BeanChangeSupport
clearAllListeners, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, hasListeners, hasListeners, removePropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.progeeks.meta.MetaObject
clearAllListeners, hasListeners, hasListeners, removePropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

BeanMetaObject

public BeanMetaObject(java.lang.Object bean,
                      MetaClass metaClass)
Method Detail

release

public void release()
Releases any internal resources that may be held by the underlying implementation. This clears the internal data structures and releases any listeners that were added to the underlying bean.

Specified by:
release in interface MetaObject
Overrides:
release in class AbstractMetaObject

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)
Overridden to prevent redundant change notifications from being delivered by the bean.

Specified by:
setProperty in interface MetaObject
Overrides:
setProperty in class AbstractMetaObject

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener l)
Overridden to add a listener to the contained bean when the first change listener is added.

Specified by:
addPropertyChangeListener in interface MetaObject
Specified by:
addPropertyChangeListener in interface StandardBean
Overrides:
addPropertyChangeListener in class BeanChangeSupport

addPropertyChangeListener

public void addPropertyChangeListener(java.lang.String propertyName,
                                      java.beans.PropertyChangeListener l)
Adds a property change listener that will be notified whenever the specified property changes.

Specified by:
addPropertyChangeListener in interface MetaObject
Specified by:
addPropertyChangeListener in interface StandardBean
Overrides:
addPropertyChangeListener in class BeanChangeSupport

getBean

protected java.lang.Object getBean()
Provides access to the bean to local MetaKit and possibly subclasses.


equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

propertyChanged

public void propertyChanged(java.lang.String name,
                            java.lang.Object oldValue)
Notifies listeners that the property value has changed outside of the BeanMetaObject's control.


dispatchEvent

protected void dispatchEvent(java.beans.PropertyChangeEvent event)
Back-door into the event delivery chain.


setPropertyValue

protected java.lang.Object setPropertyValue(java.lang.String name,
                                            java.lang.Object value)
Used a bean-inspector to set the property and does some checks to make sure property changes are propagated correctly even if the bean's internal reference hasn't changed.

Specified by:
setPropertyValue in class AbstractMetaObject

getPropertyValue

protected java.lang.Object getPropertyValue(java.lang.String name)
Overridden by subclasses to provide implementation-specific field-level access.

Specified by:
getPropertyValue in class AbstractMetaObject

createListMutator

protected ListMutator createListMutator(java.lang.String name,
                                        ListPropertyType type)
Creates a BeanListMutator that provides advanced access to multi-valued bean properties.

Overrides:
createListMutator in class AbstractMetaObject

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


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