java.lang.Object java.beans.beancontext.BeanContextChildSupport java.beans.beancontext.BeanContextSupport
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 , beanContextChildPeer , pcSupport , rejectedSetBCOnce , vcSupport |
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
(
BeanContext
peer) Create an instance using with a default locale |
|
BeanContextSupport
(
BeanContext
peer,
Locale
lcle) Create an instance using the specified locale |
|
BeanContextSupport
(
BeanContext
peer,
Locale
lcle, boolean dtime) Create an instance using the specified Locale and design mode. |
|
BeanContextSupport
(
BeanContext
peer,
Locale
lcle, boolean dTime, boolean visible) Construct a BeanContextSupport instance |
Method Summary | |
---|---|
boolean |
add
(
Object
targetChild) Adds/nests a child within this BeanContext . |
boolean |
addAll
(
Collection
c) add Collection to set of Children (Unsupported) implementations must synchronized on the hierarchy lock and "children" protected field |
void |
addBeanContextMembershipListener
(
BeanContextMembershipListener
bcml) 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
(
ObjectInputStream
ois) called by readObject after defaultReadObject() but prior to deserialization of any children. |
protected void |
bcsPreSerializationHook
(
ObjectOutputStream
oos) called by writeObject after defaultWriteObject() but prior to serialization of currently serializable children. |
protected void |
childDeserializedHook
(
Object
child,
BeanContextSupport.BCSChild
bcsc) Called by readObject with the newly deserialized child and BCSChild. |
protected void |
childJustAddedHook
(
Object
child,
BeanContextSupport.BCSChild
bcsc) 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
(
Object
child,
BeanContextSupport.BCSChild
bcsc) 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
(
Class
first,
Class
second) 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
(
Object
o) Determines whether or not the specified object is currently a child of this BeanContext . |
boolean |
containsAll
(
Collection
c) Tests to see if all objects in the specified Collection are children of this BeanContext . |
boolean |
containsKey
(
Object
o) 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
(
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. |
protected void |
deserialize
(
ObjectInputStream
ois,
Collection
coll) used by readObject to deserialize a collection. |
void |
dontUseGui
() notify this instance that it may no longer render a GUI. |
protected void |
fireChildrenAdded
(
BeanContextMembershipEvent
bcme) Fire a BeanContextshipEvent on the BeanContextMembershipListener interface |
protected void |
fireChildrenRemoved
(
BeanContextMembershipEvent
bcme) 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
(
Object
child) Gets the BeanContextChild (if any) of the specified child |
protected static BeanContextMembershipListener |
getChildBeanContextMembershipListener
(
Object
child) Gets the BeanContextMembershipListener (if any) of the specified child |
protected static PropertyChangeListener |
getChildPropertyChangeListener
(
Object
child) Gets the PropertyChangeListener (if any) of the specified child |
protected static Serializable |
getChildSerializable
(
Object
child) Gets the Serializable (if any) associated with the specified Child |
protected static VetoableChangeListener |
getChildVetoableChangeListener
(
Object
child) Gets the VetoableChangeListener (if any) of the specified child |
protected static Visibility |
getChildVisibility
(
Object
child) Gets the Component (if any) associated with the specified child. |
Locale |
getLocale
() Gets the locale for this BeanContext . |
URL |
getResource
(
String
name,
BeanContextChild
bcc) Analagous to java.lang.ClassLoader.getResource(), this method allows a BeanContext implementation to interpose behavior between the child Component and underlying ClassLoader. |
InputStream |
getResourceAsStream
(
String
name,
BeanContextChild
bcc) 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
(
String
beanName) 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
(
PropertyChangeEvent
pce) subclasses may envelope to monitor child property changes. |
void |
readChildren
(
ObjectInputStream
ois) 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
(
Object
targetChild) Removes a child from this BeanContext. |
protected boolean |
remove
(
Object
targetChild, boolean callChildSetBC) internal remove used when removal caused by unexpected setBeanContext or by remove() invocation. |
boolean |
removeAll
(
Collection
c) remove all specified children (Unsupported) implementations must synchronized on the hierarchy lock and "children" protected field |
void |
removeBeanContextMembershipListener
(
BeanContextMembershipListener
bcml) Removes a BeanContextMembershipListener |
boolean |
retainAll
(
Collection
c) retain only specified children (Unsupported) implementations must synchronized on the hierarchy lock and "children" protected field |
protected void |
serialize
(
ObjectOutputStream
oos,
Collection
coll) Used by writeObject to serialize a Collection. |
void |
setDesignTime
(boolean dTime) Sets the new design time value for this BeanContext . |
void |
setLocale
(
Locale
newLocale) 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
(
Object
[] arry) Gets an array containing all children of this BeanContext that match the types contained in arry. |
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. |
void |
vetoableChange
(
PropertyChangeEvent
pce) subclasses may envelope to monitor veto child property changes. |
void |
writeChildren
(
ObjectOutputStream
oos) Used to serialize all children of this BeanContext . |
Methods inherited from class java.beans.beancontext. BeanContextChildSupport |
---|
addPropertyChangeListener , addVetoableChangeListener , firePropertyChange , fireVetoableChange , getBeanContext , getBeanContextChildPeer , initializeBeanContextResources , isDelegated , releaseBeanContextResources , removePropertyChangeListener , removeVetoableChangeListener , serviceAvailable , serviceRevoked , setBeanContext , validatePendingSetBeanContext |
Methods inherited from class java.lang. Object |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
Methods inherited from interface java.beans.beancontext. BeanContextChild |
---|
addPropertyChangeListener , addVetoableChangeListener , getBeanContext , removePropertyChangeListener , removeVetoableChangeListener , setBeanContext |
Methods inherited from interface java.util. Collection |
---|
add , addAll , containsAll , equals , hashCode , removeAll , retainAll , toArray |
|
Field Detail |
---|
protected transient HashMap children
protected transient ArrayList bcmListeners
protected Locale locale
protected boolean okToUseGui
protected boolean designTime
Constructor Detail |
---|
public BeanContextSupport(BeanContext peer, Locale lcle, boolean dTime, boolean visible)
public BeanContextSupport(BeanContext peer, Locale lcle, boolean dtime)
public BeanContextSupport(BeanContext peer, Locale lcle)
public BeanContextSupport(BeanContext 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.
public int size()
public boolean isEmpty()
public boolean contains(Object o)
public boolean containsKey(Object o)
public Iterator iterator()
public Object[] toArray()
public Object[] toArray(Object[] arry)
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.
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.
public boolean remove(Object targetChild)
protected boolean remove(Object targetChild, boolean callChildSetBC)
public boolean containsAll(Collection c)
public boolean addAll(Collection c)
public boolean removeAll(Collection c)
public boolean retainAll(Collection c)
public void clear()
public void addBeanContextMembershipListener(BeanContextMembershipListener bcml)
public void removeBeanContextMembershipListener(BeanContextMembershipListener bcml)
public InputStream getResourceAsStream(String name, BeanContextChild bcc)
public URL getResource(String name, BeanContextChild bcc)
public void setDesignTime(boolean dTime)
public boolean isDesignTime()
public void setLocale(Locale newLocale) throws PropertyVetoException
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.
public void dontUseGui()
public void okToUseGui()
public boolean avoidingGui()
public boolean isSerializing()
protected Iterator bcsChildren()
protected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException
protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
protected void childDeserializedHook(Object child, BeanContextSupport.BCSChild bcsc)
protected final void serialize(ObjectOutputStream oos, Collection coll) throws IOException
protected final void deserialize(ObjectInputStream ois, Collection coll) throws IOException, ClassNotFoundException
public final void writeChildren(ObjectOutputStream oos) throws IOException
public final void readChildren(ObjectInputStream ois) throws IOException, ClassNotFoundException
public void vetoableChange(PropertyChangeEvent pce) throws PropertyVetoException
public void propertyChange(PropertyChangeEvent pce)
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)
protected static final Serializable getChildSerializable(Object child)
protected static final PropertyChangeListener getChildPropertyChangeListener(Object child)
protected static final VetoableChangeListener getChildVetoableChangeListener(Object child)
protected static final BeanContextMembershipListener getChildBeanContextMembershipListener(Object child)
protected static final BeanContextChild getChildBeanContextChild(Object child)
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)