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.
BeanContext
, BeanContextServices
, BeanContextChild
, Serialized Formpublic BeanContextChild beanContextChildPeer
The BeanContext
in which this BeanContextChild
is nested.
protected PropertyChangeSupport pcSupport
The PropertyChangeSupport
associated with this BeanContextChildSupport
.
protected VetoableChangeSupport vcSupport
The VetoableChangeSupport
associated with this BeanContextChildSupport
.
protected transient BeanContext beanContext
The bean context.
protected transient boolean rejectedSetBCOnce
A flag indicating that there has been at least one PropertyChangeVetoException
thrown for the attempted setBeanContext operation.
public BeanContextChildSupport()
construct a BeanContextChildSupport where this class has been subclassed in order to implement the JavaBean component itself.
public BeanContextChildSupport(BeanContextChild bcc)
construct a BeanContextChildSupport where the JavaBean component itself implements BeanContextChild, and encapsulates this, delegating that interface to this implementation
bcc
- the underlying bean context childpublic void setBeanContext(BeanContext bc) throws PropertyVetoException
Sets the BeanContext
for this BeanContextChildSupport
.
setBeanContext
in interface BeanContextChild
bc
- the new value to be assigned to the BeanContext
propertyPropertyVetoException
- if the change is rejectedpublic BeanContext getBeanContext()
Gets the nesting BeanContext
for this BeanContextChildSupport
.
getBeanContext
in interface BeanContextChild
BeanContext
for this BeanContextChildSupport
.public void addPropertyChangeListener(String name, PropertyChangeListener pcl)
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.
addPropertyChangeListener
in interface BeanContextChild
name
- The name of the property to listen onpcl
- The PropertyChangeListener
to be addedpublic void removePropertyChangeListener(String name, PropertyChangeListener pcl)
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.
removePropertyChangeListener
in interface BeanContextChild
name
- The name of the property that was listened onpcl
- The PropertyChangeListener to be removedpublic void addVetoableChangeListener(String name, VetoableChangeListener vcl)
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.
addVetoableChangeListener
in interface BeanContextChild
name
- The name of the property to listen onvcl
- The VetoableChangeListener
to be addedpublic void removeVetoableChangeListener(String name, VetoableChangeListener vcl)
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.
removeVetoableChangeListener
in interface BeanContextChild
name
- The name of the property that was listened onvcl
- The VetoableChangeListener
to be removedpublic 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.
serviceRevoked
in interface BeanContextServiceRevokedListener
bcsre
- The BeanContextServiceRevokedEvent
fired as a result of a service being revokedpublic 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
serviceAvailable
in interface BeanContextServicesListener
bcsae
- The BeanContextServiceAvailableEvent fired as a result of a service becoming availablepublic BeanContextChild getBeanContextChildPeer()
Gets the BeanContextChild
associated with this BeanContextChildSupport
.
BeanContextChild
peer of this classpublic boolean isDelegated()
Reports whether or not this class is a delegate of another.
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.
name
- The programmatic name of the property that was changedoldValue
- The old value of the propertynewValue
- The new value of the propertypublic 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.
name
- The programmatic name of the property that is about to changeoldValue
- The old value of the propertynewValue
- - The new value of the propertyPropertyVetoException
- if the recipient wishes the property change to be rolled back.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.
newValue
- the new value that has been requested for the BeanContext propertytrue
if the change operation is to be vetoedprotected 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.
protected void initializeBeanContextResources()
This method may be overridden by subclasses to provide their own initialization behaviors. When invoked any resources required by the BeanContextChild should be obtained from the current BeanContext.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.