Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.beans.beancontext
Interface BeanContext

All Superinterfaces:
  BeanContextChild, Collection, DesignMode, Visibility

All Known Subinterfaces:
  BeanContextServices

All Known Implementing Classes:
  BeanContextServicesSupport, BeanContextSupport

public interface BeanContext
extends BeanContextChild, Collection, DesignMode, Visibility

The BeanContext acts a logical hierarchical container for JavaBeans.

Since:
  1.2
See Also:
  `Beans`, `BeanContextChild`, `BeanContextMembershipListener`, `PropertyChangeEvent`, `java.beans.VetoableChangeEvent`, `DesignMode`, `Visibility`, `Collection`

Field Summary
`static Object` | `globalHierarchyLock` This global lock is used by both `BeanContext` and `BeanContextServices` implementors to serialize changes in a `BeanContext` hierarchy and any service requests etc.

Fields inherited from interface java.beans.DesignMode
`PROPERTYNAME`

Method Summary
`void` | `addBeanContextMembershipListener(BeanContextMembershipListener bcml)` Adds the specified `BeanContextMembershipListener` to receive `BeanContextMembershipEvents` from this `BeanContext` whenever it adds or removes a child `Component`(s).
`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`.
`Object` | `instantiateChild(String beanName)` Instantiate the javaBean named as a child of this `BeanContext`.
`void` | `removeBeanContextMembershipListener(BeanContextMembershipListener bcml)` Removes the specified `BeanContextMembershipListener` so that it no longer receives `BeanContextMembershipEvent`s when the child `Component`(s) are added or removed.

Methods inherited from interface java.beans.beancontext.BeanContextChild
`addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext`

Methods inherited from interface java.util.Collection
`add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray`

Methods inherited from interface java.beans.DesignMode
`isDesignTime, setDesignTime`

Methods inherited from interface java.beans.Visibility
`avoidingGui, dontUseGui, needsGui, okToUseGui`

Field Detail

### globalHierarchyLock

    public static final Object globalHierarchyLock

  This global lock is used by both `BeanContext` and `BeanContextServices` implementors to serialize changes in a `BeanContext` hierarchy and any service requests etc.

Method Detail

### instantiateChild

    public Object instantiateChild(String beanName)
                            throws IOException,
                                   ClassNotFoundException

  Instantiate the javaBean named as a child of this `BeanContext`. The implementation of the JavaBean is derived from the value of the beanName parameter, and is defined by the `java.beans.Beans.instantiate()` method.

  Parameters:
    `beanName` - The name of the JavaBean to instantiate as a child of this `BeanContext`
  Throws:
    ``IOException``
    ``ClassNotFoundException`` - if the class identified by the beanName parameter is not found
    `IOException`
    `ClassNotFoundException`

### getResourceAsStream

    public InputStream getResourceAsStream(String name,
                                           BeanContextChild bcc)
                                    throws IllegalArgumentException

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

  Parameters:
    `name` - the resource name
    `bcc` - the specified child
  Returns:
    an `InputStream` for reading the resource, or `null` if the resource could not be found.
  Throws:
    ``IllegalArgumentException`` - if the resource is not valid
    `IllegalArgumentException`

### getResource

    public URL getResource(String name,
                           BeanContextChild bcc)
                    throws IllegalArgumentException

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

  Parameters:
    `name` - the resource name
    `bcc` - the specified child
  Returns:
    a `URL` for the named resource for the specified child
  Throws:
    ``IllegalArgumentException`` - if the resource is not valid
    `IllegalArgumentException`

### addBeanContextMembershipListener

    public void addBeanContextMembershipListener(BeanContextMembershipListener bcml)

  Adds the specified `BeanContextMembershipListener` to receive `BeanContextMembershipEvents` from this `BeanContext` whenever it adds or removes a child `Component`(s).

  Parameters:
    `bcml` - the `BeanContextMembershipListener` to be added

### removeBeanContextMembershipListener

    public void removeBeanContextMembershipListener(BeanContextMembershipListener bcml)

  Removes the specified `BeanContextMembershipListener` so that it no longer receives `BeanContextMembershipEvent`s when the child `Component`(s) are added or removed.

  Parameters:
    `bcml` - the `BeanContextMembershipListener` to be removed

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.