Home » openjdk-7 » java » beans » [javadoc | source]
public interface: BeanInfo [javadoc | source]

All Known Implementing Classes:
    BeanContextServiceProviderBeanInfo, SimpleBeanInfo, GenericBeanInfo, StandardBeanInfo, SwingBeanInfoBase

A bean implementor who wishes to provide explicit information about their bean may provide a BeanInfo class that implements this BeanInfo interface and provides explicit information about the methods, properties, events, etc, of their bean.

A bean implementor doesn't need to provide a complete set of explicit information. You can pick and choose which information you want to provide and the rest will be obtained by automatic analysis using low-level reflection of the bean classes' methods and applying standard design patterns.

You get the opportunity to provide lots and lots of different information as part of the various XyZDescriptor classes. But don't panic, you only really need to provide the minimal core information required by the various constructors.

See also the SimpleBeanInfo class which provides a convenient "noop" base class for BeanInfo classes, which you can override for those specific places where you want to return explicit info.

To learn about all the behaviour of a bean see the Introspector class.
Field Summary
static final  int ICON_COLOR_16x16    Constant to indicate a 16 x 16 color icon. 
static final  int ICON_COLOR_32x32    Constant to indicate a 32 x 32 color icon. 
static final  int ICON_MONO_16x16    Constant to indicate a 16 x 16 monochrome icon. 
static final  int ICON_MONO_32x32    Constant to indicate a 32 x 32 monochrome icon. 
Method from java.beans.BeanInfo Summary:
getAdditionalBeanInfo,   getBeanDescriptor,   getDefaultEventIndex,   getDefaultPropertyIndex,   getEventSetDescriptors,   getIcon,   getMethodDescriptors,   getPropertyDescriptors
Method from java.beans.BeanInfo Detail:
 public BeanInfo[] getAdditionalBeanInfo()
    This method allows a BeanInfo object to return an arbitrary collection of other BeanInfo objects that provide additional information on the current bean.

    If there are conflicts or overlaps between the information provided by different BeanInfo objects, then the current BeanInfo takes precedence over the getAdditionalBeanInfo objects, and later elements in the array take precedence over earlier ones.

 public BeanDescriptor getBeanDescriptor()
    Gets the beans BeanDescriptor.
 public int getDefaultEventIndex()
    A bean may have a "default" event that is the event that will mostly commonly be used by humans when using the bean.
 public int getDefaultPropertyIndex()
    A bean may have a "default" property that is the property that will mostly commonly be initially chosen for update by human's who are customizing the bean.
 public EventSetDescriptor[] getEventSetDescriptors()
    Gets the beans EventSetDescriptors.
 public Image getIcon(int iconKind)
    This method returns an image object that can be used to represent the bean in toolboxes, toolbars, etc. Icon images will typically be GIFs, but may in future include other formats.

    Beans aren't required to provide icons and may return null from this method.

    There are four possible flavors of icons (16x16 color, 32x32 color, 16x16 mono, 32x32 mono). If a bean choses to only support a single icon we recommend supporting 16x16 color.

    We recommend that icons have a "transparent" background so they can be rendered onto an existing background.

 public MethodDescriptor[] getMethodDescriptors()
    Gets the beans MethodDescriptors.
 public PropertyDescriptor[] getPropertyDescriptors()
    Returns descriptors for all properties of the bean. May return {@code null} if the information should be obtained by automatic analysis.

    If a property is indexed, then its entry in the result array will belong to the IndexedPropertyDescriptor subclass of the PropertyDescriptor class. A client of the {@code getPropertyDescriptors} method can use "{@code instanceof}" to check whether a given {@code PropertyDescriptor} is an {@code IndexedPropertyDescriptor}.