BeanContextChildSupport (Java Platform SE 6) (original) (raw)



java.beans.beancontext

Class BeanContextChildSupport

java.lang.Object extended by 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
protected BeanContext beanContext
BeanContextChild beanContextChildPeer The BeanContext in which this BeanContextChild is nested.
protected PropertyChangeSupport pcSupport The PropertyChangeSupport associated with thisBeanContextChildSupport.
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 thisBeanContextChildSupport.
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](../../../java/beans/beancontext/BeanContextChildSupport.html#addPropertyChangeListener%28java.lang.String, java.beans.PropertyChangeListener%29)(String name,PropertyChangeListener pcl) Add a PropertyChangeListener for a specific property.
void [addVetoableChangeListener](../../../java/beans/beancontext/BeanContextChildSupport.html#addVetoableChangeListener%28java.lang.String, java.beans.VetoableChangeListener%29)(String name,VetoableChangeListener vcl) Add a VetoableChangeListener for a specific property.
void [firePropertyChange](../../../java/beans/beancontext/BeanContextChildSupport.html#firePropertyChange%28java.lang.String, java.lang.Object, java.lang.Object%29)(String name,Object oldValue,Object newValue) Report a bound property update to any registered listeners.
void [fireVetoableChange](../../../java/beans/beancontext/BeanContextChildSupport.html#fireVetoableChange%28java.lang.String, java.lang.Object, java.lang.Object%29)(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](../../../java/beans/beancontext/BeanContextChildSupport.html#removePropertyChangeListener%28java.lang.String, java.beans.PropertyChangeListener%29)(String name,PropertyChangeListener pcl) Remove a PropertyChangeListener for a specific property.
void [removeVetoableChangeListener](../../../java/beans/beancontext/BeanContextChildSupport.html#removeVetoableChangeListener%28java.lang.String, java.beans.VetoableChangeListener%29)(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](../../../java/lang/Object.html#wait%28long, int%29)
Field Detail

beanContextChildPeer

public BeanContextChild beanContextChildPeer

The BeanContext in which this BeanContextChild is nested.


pcSupport

protected PropertyChangeSupport pcSupport

The PropertyChangeSupport associated with thisBeanContextChildSupport.


vcSupport

protected VetoableChangeSupport vcSupport

The VetoableChangeSupport associated with thisBeanContextChildSupport.


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](../../../java/beans/beancontext/BeanContextChild.html#setBeanContext%28java.beans.beancontext.BeanContext%29) in interface [BeanContextChild](../../../java/beans/beancontext/BeanContextChild.html "interface in java.beans.beancontext")

Parameters:

bc - the new value to be assigned to the BeanContext property

Throws:

`PropertyVetoException` - if the change is rejected

[PropertyVetoException](../../../java/beans/PropertyVetoException.html "class in java.beans")


getBeanContext

public BeanContext getBeanContext()

Gets the nesting BeanContext for this BeanContextChildSupport.

Specified by:

[getBeanContext](../../../java/beans/beancontext/BeanContextChild.html#getBeanContext%28%29) in interface [BeanContextChild](../../../java/beans/beancontext/BeanContextChild.html "interface in java.beans.beancontext")

Returns:

the nesting BeanContext for this BeanContextChildSupport.


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 name or pcl is null, no exception is thrown and no action is taken.

Specified by:

[addPropertyChangeListener](../../../java/beans/beancontext/BeanContextChild.html#addPropertyChangeListener%28java.lang.String, java.beans.PropertyChangeListener%29) in interface [BeanContextChild](../../../java/beans/beancontext/BeanContextChild.html "interface in java.beans.beancontext")

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 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.

Specified by:

[removePropertyChangeListener](../../../java/beans/beancontext/BeanContextChild.html#removePropertyChangeListener%28java.lang.String, java.beans.PropertyChangeListener%29) in interface [BeanContextChild](../../../java/beans/beancontext/BeanContextChild.html "interface in java.beans.beancontext")

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)

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.

Specified by:

[addVetoableChangeListener](../../../java/beans/beancontext/BeanContextChild.html#addVetoableChangeListener%28java.lang.String, java.beans.VetoableChangeListener%29) in interface [BeanContextChild](../../../java/beans/beancontext/BeanContextChild.html "interface in java.beans.beancontext")

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. 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.

Specified by:

[removeVetoableChangeListener](../../../java/beans/beancontext/BeanContextChild.html#removeVetoableChangeListener%28java.lang.String, java.beans.VetoableChangeListener%29) in interface [BeanContextChild](../../../java/beans/beancontext/BeanContextChild.html "interface in java.beans.beancontext")

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](../../../java/beans/beancontext/BeanContextServiceRevokedListener.html#serviceRevoked%28java.beans.beancontext.BeanContextServiceRevokedEvent%29) in interface [BeanContextServiceRevokedListener](../../../java/beans/beancontext/BeanContextServiceRevokedListener.html "interface in java.beans.beancontext")

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](../../../java/beans/beancontext/BeanContextServicesListener.html#serviceAvailable%28java.beans.beancontext.BeanContextServiceAvailableEvent%29) in interface [BeanContextServicesListener](../../../java/beans/beancontext/BeanContextServicesListener.html "interface in java.beans.beancontext")

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](../../../java/beans/PropertyVetoException.html "class in java.beans") - 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.



Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

Scripting on this page tracks web page traffic, but does not change the content in any way.