Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
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, Iterable, 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

    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

    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

    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

    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

    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

    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 Standard Ed. 5.0
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 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.