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.

addPropertyChangeListener

Add a PropertyChangeListener for a specific property.
The same listener object may be added more than once. For each
property, the listener will be invoked the number of times it was added
for that property.
If name or pcl is null, no exception is thrown
and no action is taken.

removePropertyChangeListener

Remove a PropertyChangeListener for a specific property.
If pcl was added more than once to the same event
source for the specified property, it will be notified one less time
after being removed.
If name is null, no exception is thrown
and no action is taken.
If pcl is null, or was never added for the specified
property, no exception is thrown and no action is taken.

addVetoableChangeListener

Add a VetoableChangeListener for a specific property.
The same listener object may be added more than once. For each
property, the listener will be invoked the number of times it was added
for that property.
If name or vcl is null, no exception is thrown
and no action is taken.

removeVetoableChangeListener

Removes a VetoableChangeListener.
If pcl was added more than once to the same event
source for the specified property, it will be notified one less time
after being removed.
If name is null, no exception is thrown
and no action is taken.
If vcl is null, or was never added for the specified
property, no exception is thrown and no action is taken.

validatePendingSetBeanContext

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.