BeanContextChildSupport (Java SE 10 & JDK 10 )
- java.lang.Object
-
- java.beans.beancontext.BeanContextChildSupport
-
- All Implemented Interfaces:
BeanContextChild,BeanContextServiceRevokedListener,BeanContextServicesListener,Serializable,EventListener
- 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
Fields Modifier and Type Field Description protected BeanContextbeanContextThe bean context.
BeanContextChildbeanContextChildPeerThe
BeanContextin which thisBeanContextChildis nested.protected PropertyChangeSupportpcSupportThe
PropertyChangeSupportassociated with thisBeanContextChildSupport.protected booleanrejectedSetBCOnceA flag indicating that there has been at least one
PropertyChangeVetoExceptionthrown for the attempted setBeanContext operation.protected VetoableChangeSupportvcSupportThe
VetoableChangeSupportassociated with thisBeanContextChildSupport.
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPropertyChangeListener(String name, PropertyChangeListener pcl)Add a PropertyChangeListener for a specific property.
voidaddVetoableChangeListener(String name, VetoableChangeListener vcl)Add a VetoableChangeListener for a specific property.
voidfirePropertyChange(String name, Object oldValue, Object newValue)Report a bound property update to any registered listeners.
voidfireVetoableChange(String name, Object oldValue, Object newValue)Report a vetoable property update to any registered listeners.
BeanContextgetBeanContext()Gets the nesting
BeanContextfor thisBeanContextChildSupport.BeanContextChildgetBeanContextChildPeer()Gets the
BeanContextChildassociated with thisBeanContextChildSupport.protected voidinitializeBeanContextResources()This method may be overridden by subclasses to provide their own initialization behaviors.
booleanisDelegated()Reports whether or not this class is a delegate of another.
protected voidreleaseBeanContextResources()This method may be overridden by subclasses to provide their own release behaviors.
voidremovePropertyChangeListener(String name, PropertyChangeListener pcl)Remove a PropertyChangeListener for a specific property.
voidremoveVetoableChangeListener(String name, VetoableChangeListener vcl)Removes a
VetoableChangeListener.voidserviceAvailable(BeanContextServiceAvailableEvent bcsae)A new service is available from the nesting BeanContext.
voidserviceRevoked(BeanContextServiceRevokedEvent bcsre)A service provided by the nesting BeanContext has been revoked.
voidsetBeanContext(BeanContext bc)Sets the
BeanContextfor thisBeanContextChildSupport.booleanvalidatePendingSetBeanContext(BeanContext newValue)Called from setBeanContext to validate (or otherwise) the pending change in the nesting BeanContext property value.
-
-
-
Field Detail
-
beanContextChildPeer
public BeanContextChild beanContextChildPeer
The
BeanContextin which thisBeanContextChildis nested.
-
pcSupport
protected PropertyChangeSupport pcSupport
The
PropertyChangeSupportassociated with thisBeanContextChildSupport.
-
vcSupport
protected VetoableChangeSupport vcSupport
The
VetoableChangeSupportassociated with thisBeanContextChildSupport.
-
beanContext
protected transient BeanContext beanContext
The bean context.
-
rejectedSetBCOnce
protected transient boolean rejectedSetBCOnce
A flag indicating that there has been at least one
PropertyChangeVetoExceptionthrown 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
- Parameters:
bcc- the underlying bean context child
-
-
Method Detail
-
setBeanContext
public void setBeanContext(BeanContext bc) throws PropertyVetoException
Sets the
BeanContextfor thisBeanContextChildSupport.- Specified by:
setBeanContextin interfaceBeanContextChild- Parameters:
bc- the new value to be assigned to theBeanContextproperty- Throws:
PropertyVetoException- if the change is rejected
-
getBeanContext
public BeanContext getBeanContext()
Gets the nesting
BeanContextfor thisBeanContextChildSupport.- Specified by:
getBeanContextin interfaceBeanContextChild- Returns:
- the nesting
BeanContextfor thisBeanContextChildSupport.
-
addPropertyChangeListener
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
nameorpclis null, no exception is thrown and no action is taken.- Specified by:
addPropertyChangeListenerin interfaceBeanContextChild- Parameters:
name- The name of the property to listen onpcl- ThePropertyChangeListenerto be added
-
removePropertyChangeListener
public void removePropertyChangeListener(String name, PropertyChangeListener pcl)
Remove a PropertyChangeListener for a specific property. If
pclwas added more than once to the same event source for the specified property, it will be notified one less time after being removed. Ifnameis null, no exception is thrown and no action is taken. Ifpclis null, or was never added for the specified property, no exception is thrown and no action is taken.- Specified by:
removePropertyChangeListenerin interfaceBeanContextChild- Parameters:
name- The name of the property that was listened onpcl- The PropertyChangeListener to be removed
-
addVetoableChangeListener
public 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
nameorvclis null, no exception is thrown and no action is taken.- Specified by:
addVetoableChangeListenerin interfaceBeanContextChild- Parameters:
name- The name of the property to listen onvcl- TheVetoableChangeListenerto be added
-
removeVetoableChangeListener
public void removeVetoableChangeListener(String name, VetoableChangeListener vcl)
Removes a
VetoableChangeListener. Ifpclwas added more than once to the same event source for the specified property, it will be notified one less time after being removed. Ifnameis null, no exception is thrown and no action is taken. Ifvclis null, or was never added for the specified property, no exception is thrown and no action is taken.- Specified by:
removeVetoableChangeListenerin interfaceBeanContextChild- Parameters:
name- The name of the property that was listened onvcl- TheVetoableChangeListenerto 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:
serviceRevokedin interfaceBeanContextServiceRevokedListener- Parameters:
bcsre- TheBeanContextServiceRevokedEventfired 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:
serviceAvailablein interfaceBeanContextServicesListener- Parameters:
bcsae- The BeanContextServiceAvailableEvent fired as a result of a service becoming available
-
getBeanContextChildPeer
public BeanContextChild getBeanContextChildPeer()
Gets the
BeanContextChildassociated with thisBeanContextChildSupport.- Returns:
- the
BeanContextChildpeer 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 changedoldValue- The old value of the propertynewValue- 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 changeoldValue- The old value of the propertynewValue- - 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:
trueif 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 required by the BeanContextChild should be obtained from the current BeanContext.
-
-
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2018, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.