|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object![]()
![]()
![]()
java.beans.beancontext.BeanContextChildSupport
![]()
![]()
![]()
java.beans.beancontext.BeanContextSupport
, BeanContextChild
, BeanContextServiceRevokedListener
, BeanContextServicesListener
, DesignMode
, PropertyChangeListener
, VetoableChangeListener
, Visibility
, Serializable
, Iterable
, Collection
, EventListener


public class BeanContextSupport

, Serializable
, PropertyChangeListener
, VetoableChangeListener

This helper class provides a utility implementation of the java.beans.beancontext.BeanContext interface.
Since this class directly implements the BeanContext interface, the class can, and is intended to be used either by subclassing this implementation, or via ad-hoc delegation of an instance of this class from another.
| Nested Class Summary | |
|---|---|
protected class |
BeanContextSupport.BCSChild
|
protected static class |
BeanContextSupport.BCSIterator
protected final subclass that encapsulates an iterator but implements a noop remove() method. |
| Field Summary | |
|---|---|
protected ArrayList |
bcmListeners
all accesses to the protected ArrayList bcmListeners field
shall be synchronized on that object. |
protected HashMap |
children
all accesses to the protected HashMap children field
shall be synchronized on that object. |
protected boolean |
designTime
A boolean indicating whether or not this object is currently in design time mode. |
protected Locale |
locale
The current locale of this BeanContext. |
protected boolean |
okToUseGui
A boolean indicating if this instance may now render a GUI. |
Fields inherited from class java.beans.beancontext.BeanContextChildSupport ![]() |
|---|
beanContext |
Fields inherited from interface java.beans.beancontext.BeanContext ![]() |
|---|
globalHierarchyLock |
Fields inherited from interface java.beans.DesignMode ![]() |
|---|
PROPERTYNAME |
| Constructor Summary | |
|---|---|
BeanContextSupport
Create an instance that is not a delegate of another object |
|
BeanContextSupport
Create an instance using with a default locale |
|
BeanContextSupport
Create an instance using the specified locale |
|
BeanContextSupport
Create an instance using the specified Locale and design mode. |
|
BeanContextSupport
Construct a BeanContextSupport instance |
|
| Method Summary | |
|---|---|
boolean |
add
Adds/nests a child within this BeanContext. |
boolean |
addAll
add Collection to set of Children (Unsupported) implementations must synchronized on the hierarchy lock and "children" protected field |
void |
addBeanContextMembershipListener
Adds a BeanContextMembershipListener |
boolean |
avoidingGui
Used to determine if the BeanContext child is avoiding using its GUI. |
protected Iterator |
bcsChildren
Returns an iterator of all children of this BeanContext. |
protected void |
bcsPreDeserializationHook
called by readObject after defaultReadObject() but prior to deserialization of any children. |
protected void |
bcsPreSerializationHook
called by writeObject after defaultWriteObject() but prior to serialization of currently serializable children. |
protected void |
childDeserializedHook
Called by readObject with the newly deserialized child and BCSChild. |
protected void |
childJustAddedHook
subclasses may override this method to simply extend add() semantics after the child has been added and before the event notification has occurred. |
protected void |
childJustRemovedHook
subclasses may override this method to simply extend remove() semantics after the child has been removed and before the event notification has occurred. |
protected static boolean |
classEquals
Tests to see if two class objects, or their names are equal. |
void |
clear
clear the children (Unsupported) implementations must synchronized on the hierarchy lock and "children" protected field |
boolean |
contains
Determines whether or not the specified object is currently a child of this BeanContext. |
boolean |
containsAll
Tests to see if all objects in the specified Collection are children of this BeanContext. |
boolean |
containsKey
Determines whether or not the specified object is currently a child of this BeanContext. |
protected Object |
copyChildren
Gets a copy of the this BeanContext's children. |
protected BeanContextSupport.BCSChild |
createBCSChild
Subclasses can override this method to insert their own subclass of Child without having to override add() or the other Collection methods that add children to the set. |
protected void |
deserialize
used by readObject to deserialize a collection. |
void |
dontUseGui
notify this instance that it may no longer render a GUI. |
protected void |
fireChildrenAdded
Fire a BeanContextshipEvent on the BeanContextMembershipListener interface |
protected void |
fireChildrenRemoved
Fire a BeanContextshipEvent on the BeanContextMembershipListener interface |
BeanContext |
getBeanContextPeer
Gets the instance of BeanContext that this object is providing the implementation for. |
protected static BeanContextChild |
getChildBeanContextChild
Gets the BeanContextChild (if any) of the specified child |
protected static BeanContextMembershipListener |
getChildBeanContextMembershipListener
Gets the BeanContextMembershipListener (if any) of the specified child |
protected static PropertyChangeListener |
getChildPropertyChangeListener
Gets the PropertyChangeListener (if any) of the specified child |
protected static Serializable |
getChildSerializable
Gets the Serializable (if any) associated with the specified Child |
protected static VetoableChangeListener |
getChildVetoableChangeListener
Gets the VetoableChangeListener (if any) of the specified child |
protected static Visibility |
getChildVisibility
Gets the Component (if any) associated with the specified child. |
Locale |
getLocale
Gets the locale for this BeanContext. |
URL |
getResource
Analagous to java.lang.ClassLoader.getResource(), this
method allows a BeanContext implementation to interpose
behavior between the child Component
and underlying ClassLoader. |
InputStream |
getResourceAsStream
Analagous to java.lang.ClassLoader.getResourceAsStream(),
this method allows a BeanContext implementation
to interpose behavior between the child Component
and underlying ClassLoader. |
protected void |
initialize
protected method called from constructor and readObject to initialize transient state of BeanContextSupport instance. |
Object |
instantiateChild
The instantiateChild method is a convenience hook in BeanContext to simplify the task of instantiating a Bean, nested, into a BeanContext. |
boolean |
isDesignTime
Reports whether or not this object is in currently in design time mode. |
boolean |
isEmpty
Reports whether or not this BeanContext is empty. |
boolean |
isSerializing
Is this BeanContext in the process of being serialized? |
Iterator |
iterator
Gets all JavaBean or BeanContext instances currently nested in this BeanContext. |
boolean |
needsGui
This method is typically called from the environment in order to determine if the implementor "needs" a GUI. |
void |
okToUseGui
Notify this instance that it may now render a GUI |
void |
propertyChange
subclasses may envelope to monitor child property changes. |
void |
readChildren
When an instance of this class is used as a delegate for the implementation of the BeanContext protocols (and its subprotocols) there exists a 'chicken and egg' problem during deserialization |
boolean |
remove
Removes a child from this BeanContext. |
protected boolean |
remove
internal remove used when removal caused by unexpected setBeanContext or by remove() invocation. |
boolean |
removeAll
remove all specified children (Unsupported) implementations must synchronized on the hierarchy lock and "children" protected field |
void |
removeBeanContextMembershipListener
Removes a BeanContextMembershipListener |
boolean |
retainAll
retain only specified children (Unsupported) implementations must synchronized on the hierarchy lock and "children" protected field |
protected void |
serialize
Used by writeObject to serialize a Collection. |
void |
setDesignTime
Sets the new design time value for this BeanContext. |
void |
setLocale
Sets the locale of this BeanContext. |
int |
size
Gets the number of children currently nested in this BeanContext. |
Object |
toArray
Gets all JavaBean or BeanContext instances currently nested in this BeanContext. |
Object |
toArray
Gets an array containing all children of this BeanContext that match the types contained in arry. |
protected boolean |
validatePendingAdd
Subclasses of this class may override, or envelope, this method to add validation behavior for the BeanContext to examine child objects immediately prior to their being added to the BeanContext. |
protected boolean |
validatePendingRemove
Subclasses of this class may override, or envelope, this method to add validation behavior for the BeanContext to examine child objects immediately prior to their being removed from the BeanContext. |
void |
vetoableChange
subclasses may envelope to monitor veto child property changes. |
void |
writeChildren
Used to serialize all children of this BeanContext. |
Methods inherited from class java.beans.beancontext.BeanContextChildSupport ![]() |
|---|
addPropertyChangeListener |
Methods inherited from class java.lang.Object ![]() |
|---|
clone |
Methods inherited from interface java.beans.beancontext.BeanContextChild ![]() |
|---|
addPropertyChangeListener |
Methods inherited from interface java.util.Collection ![]() |
|---|
equals |
| Field Detail |
|---|

protected transient HashMap![]()
![]()
children
protected HashMap children field
shall be synchronized on that object.

protected transient ArrayList![]()
![]()
bcmListeners
protected ArrayList bcmListeners field
shall be synchronized on that object.

protected Locale![]()
![]()
locale

protected boolean okToUseGui

protected boolean designTime
| Constructor Detail |
|---|

public BeanContextSupport(BeanContext![]()
![]()
peer, Locale
![]()
![]()
lcle, boolean dTime, boolean visible)
peer - The peer BeanContext we are
supplying an implementation for,
or null
if this object is its own peerlcle - The current Locale for this BeanContext. If
lcle is null, the default locale
is assigned to the BeanContext instance.dTime - The initial state,
true if in design mode,
false if runtime.visible - The initial visibility.Locale.getDefault()
,
Locale.setDefault(java.util.Locale)


public BeanContextSupport(BeanContext![]()
![]()
peer, Locale
![]()
![]()
lcle, boolean dtime)
peer - The peer BeanContext we
are supplying an implementation for,
or null if this object is its own peerlcle - The current Locale for this BeanContext. If
lcle is null, the default locale
is assigned to the BeanContext instance.dtime - The initial state, true
if in design mode,
false if runtime.Locale.getDefault()
,
Locale.setDefault(java.util.Locale)


public BeanContextSupport(BeanContext![]()
![]()
peer, Locale
![]()
![]()
lcle)
peer - The peer BeanContext we are
supplying an implementation for,
or null if this object
is its own peerlcle - The current Locale for this
BeanContext. If
lcle is null,
the default locale
is assigned to the BeanContext
instance.Locale.getDefault()
,
Locale.setDefault(java.util.Locale)


public BeanContextSupport(BeanContext![]()
![]()
peer)
peer - The peer BeanContext we are
supplying an implementation for,
or null if this object
is its own peer

public BeanContextSupport()
| Method Detail |
|---|

public BeanContext![]()
![]()
getBeanContextPeer()

public Object![]()
![]()
instantiateChild(String
![]()
![]()
beanName) throws IOException
![]()
![]()
, ClassNotFoundException
![]()
![]()
The instantiateChild method is a convenience hook in BeanContext to simplify the task of instantiating a Bean, nested, into a BeanContext.
The semantics of the beanName parameter are defined by java.beans.Beans.instantate.
instantiateChild

in interface BeanContext

beanName - the name of the Bean to instantiate within this BeanContext
IOException

- if there is an I/O error when the bean is being deserialized
ClassNotFoundException

- if the class
identified by the beanName parameter is not found

public int size()
size

in interface Collection


public boolean isEmpty()
isEmpty

in interface Collection


public boolean contains(Object![]()
![]()
o)
contains

in interface Collection

o - the Object in question

public boolean containsKey(Object![]()
![]()
o)
o - the Object in question

public Iterator![]()
![]()
iterator()
iterator

in interface Iterable

iterator

in interface Collection


public Object![]()
![]()
[] toArray()
toArray

in interface Collection


public Object![]()
![]()
[] toArray(Object
![]()
![]()
[] arry)
toArray

in interface Collection

arry - The array of object
types that are of interest.

protected BeanContextSupport.BCSChild![]()
![]()
createBCSChild(Object
![]()
![]()
targetChild, Object
![]()
![]()
peer)
Subclasses can override this method to insert their own subclass of Child without having to override add() or the other Collection methods that add children to the set.
targetChild - the child to create the Child on behalf ofpeer - the peer if the tragetChild and the peer are related by an implementation of BeanContextProxy

public boolean add(Object![]()
![]()
targetChild)
Invoked as a side effect of java.beans.Beans.instantiate(). If the child object is not valid for adding then this method throws an IllegalStateException.
add

in interface Collection

targetChild - The child objects to nest
within this BeanContext
validatePendingAdd(java.lang.Object)


public boolean remove(Object![]()
![]()
targetChild)
remove

in interface Collection

targetChild - The child objects to remove
validatePendingRemove(java.lang.Object)


protected boolean remove(Object![]()
![]()
targetChild, boolean callChildSetBC)
targetChild - the JavaBean, BeanContext, or Object to be removedcallChildSetBC - used to indicate that
the child should be notified that it is no
longer nested in this BeanContext.

public boolean containsAll(Collection![]()
![]()
c)
containsAll

in interface Collection

c - the specified Collection
Collection.contains(Object)


public boolean addAll(Collection![]()
![]()
c)
addAll

in interface Collection

c - elements to be inserted into this collection.
UnsupportedOperationException

Collection.add(Object)


public boolean removeAll(Collection![]()
![]()
c)
removeAll

in interface Collection

c - elements to be removed from this collection.
UnsupportedOperationException

Collection.remove(Object)
,
Collection.contains(Object)


public boolean retainAll(Collection![]()
![]()
c)
retainAll

in interface Collection

c - elements to be retained in this collection.
UnsupportedOperationException

Collection.remove(Object)
,
Collection.contains(Object)


public void clear()
clear

in interface Collection

UnsupportedOperationException


public void addBeanContextMembershipListener(BeanContextMembershipListener![]()
![]()
bcml)
addBeanContextMembershipListener

in interface BeanContext

bcml - the BeanContextMembershipListener to add
NullPointerException


public void removeBeanContextMembershipListener(BeanContextMembershipListener![]()
![]()
bcml)
removeBeanContextMembershipListener

in interface BeanContext

bcml - the BeanContextMembershipListener to remove
NullPointerException


public InputStream![]()
![]()
getResourceAsStream(String
![]()
![]()
name, BeanContextChild
![]()
![]()
bcc)
BeanContext

java.lang.ClassLoader.getResourceAsStream(),
this method allows a BeanContext implementation
to interpose behavior between the child Component
and underlying ClassLoader.
getResourceAsStream

in interface BeanContext

name - the name of the resource requested.bcc - the child object making the request.
NullPointerException


public URL![]()
![]()
getResource(String
![]()
![]()
name, BeanContextChild
![]()
![]()
bcc)
BeanContext

java.lang.ClassLoader.getResource(), this
method allows a BeanContext implementation to interpose
behavior between the child Component
and underlying ClassLoader.
getResource

in interface BeanContext

name - the name of the resource requested.bcc - the child object making the request.

public void setDesignTime(boolean dTime)
setDesignTime

in interface DesignMode

dTime - the new designTime valueBeanContext
,
BeanContextMembershipListener
,
PropertyChangeEvent


public boolean isDesignTime()
isDesignTime

in interface DesignMode


public void setLocale(Locale![]()
![]()
newLocale) throws PropertyVetoException
![]()
![]()
newLocale - the new locale. This method call will have
no effect if newLocale is null.
PropertyVetoException

- if the new value is rejected

public Locale![]()
![]()
getLocale()

public boolean needsGui()
This method is typically called from the environment in order to determine if the implementor "needs" a GUI.
The algorithm used herein tests the BeanContextPeer, and its current children to determine if they are either Containers, Components, or if they implement Visibility and return needsGui() == true.
needsGui

in interface Visibility


public void dontUseGui()
dontUseGui

in interface Visibility


public void okToUseGui()
okToUseGui

in interface Visibility


public boolean avoidingGui()
avoidingGui

in interface Visibility

Visibility


public boolean isSerializing()

protected Iterator![]()
![]()
bcsChildren()

protected void bcsPreSerializationHook(ObjectOutputStream![]()
![]()
oos) throws IOException
![]()
![]()
IOException


protected void bcsPreDeserializationHook(ObjectInputStream![]()
![]()
ois) throws IOException
![]()
![]()
, ClassNotFoundException
![]()
![]()
IOException

ClassNotFoundException


protected void childDeserializedHook(Object![]()
![]()
child, BeanContextSupport.BCSChild
![]()
![]()
bcsc)
child - the newly deserialized childbcsc - the newly deserialized BCSChild

protected final void serialize(ObjectOutputStream![]()
![]()
oos, Collection
![]()
![]()
coll) throws IOException
![]()
![]()
oos - the ObjectOutputStream
to use during serializationcoll - the Collection to serialize
IOException

- if serialization failed

protected final void deserialize(ObjectInputStream![]()
![]()
ois, Collection
![]()
![]()
coll) throws IOException
![]()
![]()
, ClassNotFoundException
![]()
![]()
ois - the ObjectInputStream to usecoll - the Collection
IOException

ClassNotFoundException


public final void writeChildren(ObjectOutputStream![]()
![]()
oos) throws IOException
![]()
![]()
oos - the ObjectOutputStream
to use during serialization
IOException

- if serialization failed

public final void readChildren(ObjectInputStream![]()
![]()
ois) throws IOException
![]()
![]()
, ClassNotFoundException
![]()
![]()
IOException

ClassNotFoundException


public void vetoableChange(PropertyChangeEvent![]()
![]()
pce) throws PropertyVetoException
![]()
![]()
vetoableChange

in interface VetoableChangeListener

pce - a PropertyChangeEvent object describing the
event source and the property that has changed.
PropertyVetoException

- if the recipient wishes the property
change to be rolled back.

public void propertyChange(PropertyChangeEvent![]()
![]()
pce)
propertyChange

in interface PropertyChangeListener

pce - A PropertyChangeEvent object describing the event source
and the property that has changed.

protected boolean validatePendingAdd(Object![]()
![]()
targetChild)
Subclasses of this class may override, or envelope, this method to add validation behavior for the BeanContext to examine child objects immediately prior to their being added to the BeanContext.

protected boolean validatePendingRemove(Object![]()
![]()
targetChild)
Subclasses of this class may override, or envelope, this method to add validation behavior for the BeanContext to examine child objects immediately prior to their being removed from the BeanContext.

protected void childJustAddedHook(Object![]()
![]()
child, BeanContextSupport.BCSChild
![]()
![]()
bcsc)

protected void childJustRemovedHook(Object![]()
![]()
child, BeanContextSupport.BCSChild
![]()
![]()
bcsc)

protected static final Visibility![]()
![]()
getChildVisibility(Object
![]()
![]()
child)
child - the specified child

protected static final Serializable![]()
![]()
getChildSerializable(Object
![]()
![]()
child)
child - the specified child

protected static final PropertyChangeListener![]()
![]()
getChildPropertyChangeListener(Object
![]()
![]()
child)
child - the specified child

protected static final VetoableChangeListener![]()
![]()
getChildVetoableChangeListener(Object
![]()
![]()
child)
child - the specified child

protected static final BeanContextMembershipListener![]()
![]()
getChildBeanContextMembershipListener(Object
![]()
![]()
child)
child - the specified child

protected static final BeanContextChild![]()
![]()
getChildBeanContextChild(Object
![]()
![]()
child)
child - the specified child
IllegalArgumentException

- if child implements both BeanContextChild and BeanContextProxy

protected final void fireChildrenAdded(BeanContextMembershipEvent![]()
![]()
bcme)

protected final void fireChildrenRemoved(BeanContextMembershipEvent![]()
![]()
bcme)

protected void initialize()

protected final Object![]()
![]()
[] copyChildren()

protected static final boolean classEquals(Class![]()
![]()
first, Class
![]()
![]()
second)
first - the first objectsecond - the second object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||