java.beans.beancontext
Class BeanContextChildSupportjava.lang.Object | +--java.beans.beancontext.BeanContextChildSupport
- All Implemented Interfaces:
- BeanContextChild, BeanContextServiceRevokedListener, BeanContextServicesListener, EventListener, Serializable
- Direct Known Subclasses:
- BeanContextSupport
- public class BeanContextChildSupport
- extends Object
- implements BeanContextChild, BeanContextServicesListener, Serializable
This is a general support class to provide support for implementing the BeanContextChild protocol. This class may either be directly subclassed, or encapsulated and delegated to in order to implement this interface for a given component.
- Since:
- 1.2
- See Also:
- BeanContext, BeanContextServices, BeanContextChild, Serialized Form
Field Summary
protected BeanContext beanContext
BeanContextChild beanContextChildPeer
The BeanContext in which this BeanContextChild is nested.protected PropertyChangeSupport pcSupport
The PropertyChangeSupport associated with this BeanContextChildSupport.protected boolean rejectedSetBCOnce
A flag indicating that there has been at least one PropertyChangeVetoException thrown for the attempted setBeanContext operation.protected VetoableChangeSupport vcSupport
The VetoableChangeSupport associated with this BeanContextChildSupport.
Constructor Summary
BeanContextChildSupport()
construct a BeanContextChildSupport where this class has been subclassed in order to implement the JavaBean component itself.BeanContextChildSupport(BeanContextChild bcc)
construct a BeanContextChildSupport where the JavaBean component itself implements BeanContextChild, and encapsulates this, delegating that interface to this implementation
Method Summary
void addPropertyChangeListener(String name, PropertyChangeListener pcl)
Adds a property change listener.void addVetoableChangeListener(String name, VetoableChangeListener vcl)
Adds a VetoableChangeListener.void firePropertyChange(String name, Object oldValue, Object newValue)
Report a bound property update to any registered listeners.void fireVetoableChange(String name, Object oldValue, Object newValue)
Report a vetoable property update to any registered listeners.BeanContext getBeanContext()
Gets the nesting BeanContext for this BeanContextChildSupport.BeanContextChild getBeanContextChildPeer()
Gets the BeanContextChild associated with this BeanContextChildSupport.protected void initializeBeanContextResources()
This method may be overridden by subclasses to provide their own initialization behaviors.boolean isDelegated()
Reports whether or not this class is a delegate of another.protected void releaseBeanContextResources()
This method may be overridden by subclasses to provide their own release behaviors.void removePropertyChangeListener(String name, PropertyChangeListener pcl)
Remove a property change listener.void removeVetoableChangeListener(String name, VetoableChangeListener vcl)
Removes a VetoableChangeListener.void serviceAvailable(BeanContextServiceAvailableEvent bcsae)
A new service is available from the nesting BeanContext.void serviceRevoked(BeanContextServiceRevokedEvent bcsre)
A service provided by the nesting BeanContext has been revoked.void setBeanContext(BeanContext bc)
Sets the BeanContext for this BeanContextChildSupport.boolean validatePendingSetBeanContext(BeanContext newValue)
Called from setBeanContext to validate (or otherwise) the pending change in the nesting BeanContext property value.
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
beanContextChildPeer
public BeanContextChild beanContextChildPeer
- The BeanContext in which this BeanContextChild is nested.
pcSupport
protected PropertyChangeSupport pcSupport
- The PropertyChangeSupport associated with this BeanContextChildSupport.
vcSupport
protected VetoableChangeSupport vcSupport
- The VetoableChangeSupport associated with this BeanContextChildSupport.
beanContext
protected transient BeanContext beanContext
rejectedSetBCOnce
protected transient boolean rejectedSetBCOnce
- A flag indicating that there has been at least one PropertyChangeVetoException thrown for the attempted setBeanContext operation.
Constructor Detail
BeanContextChildSupport
public BeanContextChildSupport()
- construct a BeanContextChildSupport where this class has been subclassed in order to implement the JavaBean component itself.
BeanContextChildSupport
public BeanContextChildSupport(BeanContextChild bcc)
- construct a BeanContextChildSupport where the JavaBean component itself implements BeanContextChild, and encapsulates this, delegating that interface to this implementation
Method Detail
setBeanContext
public void setBeanContext(BeanContext bc) throws PropertyVetoException
- Sets the BeanContext for this BeanContextChildSupport.
- Specified by:
- setBeanContext in interface BeanContextChild
- Parameters:
- bc - the new value to be assigned to the BeanContext property
- Throws:
- PropertyVetoException - if the change is rejected
- PropertyVetoException
getBeanContext
public BeanContext getBeanContext()
- Gets the nesting BeanContext for this BeanContextChildSupport.
- Specified by:
- getBeanContext in interface BeanContextChild
- Returns:
- the nesting BeanContext for this BeanContextChildSupport.
addPropertyChangeListener
public void addPropertyChangeListener(String name, PropertyChangeListener pcl)
- Adds a property change listener.
- Specified by:
- addPropertyChangeListener in interface BeanContextChild
- Parameters:
- name - The name of the property to listen on
- pcl - The PropertyChangeListener to be added
removePropertyChangeListener
public void removePropertyChangeListener(String name, PropertyChangeListener pcl)
- Remove a property change listener.
- Specified by:
- removePropertyChangeListener in interface BeanContextChild
- Parameters:
- name - The name of the property that was listened on
- pcl - The PropertyChangeListener to be removed
addVetoableChangeListener
public void addVetoableChangeListener(String name, VetoableChangeListener vcl)
- Adds a VetoableChangeListener.
- Specified by:
- addVetoableChangeListener in interface BeanContextChild
- Parameters:
- name - The name of the property to listen on
- vcl - The VetoableChangeListener to be added
removeVetoableChangeListener
public void removeVetoableChangeListener(String name, VetoableChangeListener vcl)
- Removes a VetoableChangeListener.
- Specified by:
- removeVetoableChangeListener in interface BeanContextChild
- Parameters:
- name - The name of the property that was listened on
- vcl - The VetoableChangeListener to be removed
serviceRevoked
public void serviceRevoked(BeanContextServiceRevokedEvent bcsre)
- A service provided by the nesting BeanContext has been revoked. Subclasses may override this method in order to implement their own behaviors.
- Specified by:
- serviceRevoked in interface BeanContextServiceRevokedListener
- Parameters:
- bcsre - The BeanContextServiceRevokedEvent fired as a result of a service being revoked
serviceAvailable
public void serviceAvailable(BeanContextServiceAvailableEvent bcsae)
- A new service is available from the nesting BeanContext. Subclasses may override this method in order to implement their own behaviors
- Specified by:
- serviceAvailable in interface BeanContextServicesListener
- Parameters:
- bcsae - The BeanContextServiceAvailableEvent fired as a result of a service becoming available
getBeanContextChildPeer
public BeanContextChild getBeanContextChildPeer()
- Gets the BeanContextChild associated with this BeanContextChildSupport.
- Returns:
- the BeanContextChild peer of this class
isDelegated
public boolean isDelegated()
- Reports whether or not this class is a delegate of another.
- Returns:
- true if this class is a delegate of another
firePropertyChange
public void firePropertyChange(String name, Object oldValue, Object newValue)
- Report a bound property update to any registered listeners. No event is fired if old and new are equal and non-null.
- Parameters:
- name - The programmatic name of the property that was changed
- oldValue - The old value of the property
- newValue - The new value of the property
fireVetoableChange
public void fireVetoableChange(String name, Object oldValue, Object newValue) throws PropertyVetoException
- Report a vetoable property update to any registered listeners. If anyone vetos the change, then fire a new event reverting everyone to the old value and then rethrow the PropertyVetoException.
No event is fired if old and new are equal and non-null.
- Parameters:
- name - The programmatic name of the property that is about to change
- oldValue - The old value of the property
- newValue - - The new value of the property
- Throws:
- PropertyVetoException - if the recipient wishes the property change to be rolled back.
validatePendingSetBeanContext
public boolean validatePendingSetBeanContext(BeanContext newValue)
- Called from setBeanContext to validate (or otherwise) the pending change in the nesting BeanContext property value. Returning false will cause setBeanContext to throw PropertyVetoException.
- Parameters:
- newValue - the new value that has been requested for the BeanContext property
- Returns:
- true if the change operation is to be vetoed
releaseBeanContextResources
protected void releaseBeanContextResources()
- This method may be overridden by subclasses to provide their own release behaviors. When invoked any resources held by this instance obtained from its current BeanContext property should be released since the object is no longer nested within that BeanContext.
initializeBeanContextResources
protected void initializeBeanContextResources()
- This method may be overridden by subclasses to provide their own initialization behaviors. When invoked any resources requried by the BeanContextChild should be obtained from the current BeanContext.