|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.chwf.filter.BeanWrapper
The BeanWrapper
class is a stateful business object
wrapper that manages string-to-object value conversions and property
change events for a single business object. It simplifies
BeanFilter
methods by eliminating the object parameter,
but it is not thread-safe. The BeanWrapper
is
appropriate for non-multi-threaded environments like Java GUIs:
BeanWrapper wrapper = new BeanWrapper(account); wrapper.set("name", "John Smith"); // account.setName("John Smith"); wrapper.set("balance", "1234.56"); // account.setBalance(1234.56); wrapper.set("startDate", "10/11/2001"); // account.setStartDate(<10/11/2001>); wrapper.invoke("save"); // account.save();The
BeanWrapper
class also allows registration of
PropertyChangeListener
objects to handle
PropertyChangeEvent
s. This means that the business
objects themselves do not need to be encumbered with such GUI
specific code. These property change events are only generated
when the property is changed through the BeanWrapper
,
using its set()
and setAll()
methods.
BeanWrapper wrapper = new BeanWrapper(account); PropertyChangeListener bcl = new BalanceChangeListener(); wrapper.addPropertyChangeListener("balance", bcl); // listener is notified when balance is changed via the wrapper
Constructor Summary | |
BeanWrapper(java.lang.Object object)
Wraps the given object in a BeanWrapper . |
Method Summary | |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Add a PropertyChangeListener to the listener list. |
void |
addPropertyChangeListener(java.lang.String propertyName,
java.beans.PropertyChangeListener listener)
Add a PropertyChangeListener for a specific property. |
java.lang.String |
get(java.lang.String property)
Get the specified property of the wrapped object, as a string. |
java.lang.Object |
getObject()
Retrieves the underlying object. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Remove a PropertyChangeListener from the listener list. |
void |
removePropertyChangeListener(java.lang.String propertyName,
java.beans.PropertyChangeListener listener)
Remove a PropertyChangeListener for a specific property. |
void |
set(java.lang.String property,
java.lang.String value)
Set the specified property of the wrapped object, using a string. |
void |
setAll(java.util.Map properties)
Set all properties of the wrapped object using a map of name/value pairs. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public BeanWrapper(java.lang.Object object) throws InitializationException
BeanWrapper
. object
- The target object.InitializationException
- If the filter cannot be initialized.Method Detail |
public java.lang.Object getObject()
public java.lang.String get(java.lang.String property) throws FilterException
property
- The property name.FilterException
- For read failure.public void set(java.lang.String property, java.lang.String value) throws ConversionException, FilterException
property
- The property name.value
- The property value.ConversionException
- If the value cannot be converted to
the correct type.FilterException
- For write failure.public void setAll(java.util.Map properties) throws ConversionException, OperationException
properties
- A map of property values keyed by property name.ConversionException
- If a value cannot be converted to
the correct type.OperationException
- One of the underlying set operations
throws an exception.public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
listener
- The PropertyChangeListener to be added.public void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
propertyName
- The name of the property to listen for.listener
- The PropertyChangeListener to be added.public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
listener
- The PropertyChangeListener to be removed.public void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
propertyName
- The name of the property that was listened for.listener
- The PropertyChangeListener to be removed.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |