Index (Frames) | Index (No Frames) | Package | Package Tree | Tree
java.beans

Interface BeanInfo

java.lang.Object
|
+--java.beans.BeanInfo


public interface BeanInfo

BeanInfo can be implemented in order to provide explicit information to the Introspector. When you write a BeanInfo class, you implement this interface and provide explicit information by returning a non-null value from the appropriate method. If you wish the Introspector to determine certain information in the normal way, just return null (or in the case of int methods, return -1). There is a class called SimpleBeanInfo which returns null from all methods, which you may extend and only override the methods you wish to override.

When you have written the class, give it the name <Bean Class Name>BeanInfo and place it in the same package as the Bean, or in the bean info search path (see Introspector for information on search paths).

A simple note about the way the Introspector interacts with BeanInfo. Introspectors look at a Bean class and determine if there is a BeanInfo class with it. If there is not a BeanInfo class, it will behave as if the BeanInfo class provided was a SimpleBeanInfo class (i.e. it will determine all information automatically).

If there is a BeanInfo class, then any methods that do *not* return null are regarded as providing definitive information about the class and all of its superclasses for those information types. Even if a parent BeanInfo class explicitly returns that information, it will not be used.

Since:Author:

Field Summary

static intICON_COLOR_16x16

Use this as a parameter for the getIcon() command to retrieve a certain type of icon.
static intICON_COLOR_32x32

Use this as a parameter for the getIcon() command to retrieve a certain type of icon.
static intICON_MONO_16x16

Use this as a parameter for the getIcon() command to retrieve a certain type of icon.
static intICON_MONO_32x32

Use this as a parameter for the getIcon() command to retrieve a certain type of icon.

Method Summary

java.beans.BeanInfo[]getAdditionalBeanInfo()

Get additional BeanInfos representing this Bean.
java.beans.BeanDescriptorgetBeanDescriptor()

Get the general description of this Bean type.
intgetDefaultEventIndex()

Get the "default" event, basically the one a RAD tool user is most likely to select.
intgetDefaultPropertyIndex()

Get the "default" property, basically the one a RAD tool user is most likely to select.
java.beans.EventSetDescriptor[]getEventSetDescriptors()

Get the events this Bean type fires.
java.awt.ImagegetIcon(int iconType)

Get a visual icon for this Bean.
java.beans.MethodDescriptor[]getMethodDescriptors()

Get the methods this Bean type supports.
java.beans.PropertyDescriptor[]getPropertyDescriptors()

Get the properties (get/set method pairs) this Bean type supports.

Field Details

ICON_COLOR_16x16

public static final int ICON_COLOR_16x16

Use this as a parameter for the getIcon() command to retrieve a certain type of icon. *


ICON_COLOR_32x32

public static final int ICON_COLOR_32x32

Use this as a parameter for the getIcon() command to retrieve a certain type of icon. *


ICON_MONO_16x16

public static final int ICON_MONO_16x16

Use this as a parameter for the getIcon() command to retrieve a certain type of icon. *


ICON_MONO_32x32

public static final int ICON_MONO_32x32

Use this as a parameter for the getIcon() command to retrieve a certain type of icon. *


Method Details

getAdditionalBeanInfo

public BeanInfo[] getAdditionalBeanInfo()

Get additional BeanInfos representing this Bean. In this version of JavaBeans, this method is used so that space and time can be saved by reading a BeanInfo for each class in the hierarchy (super, super(super), and so on).

The order of precedence when two pieces of BeanInfo conflict (such as two PropertyDescriptors that have the same name), in order from highest precedence to lowest, is:

  1. This BeanInfo object.
  2. getAdditionalBeanInfo()[getAdditionalBeanInfo().length]
  3. ...
  4. getAdditionalBeanInfo()[1]
  5. getAdditionalBeanInfo()[0]

Spec Note: It is possible that returning null from this method could stop Introspection in its tracks, but it is unclear from the spec whether this is the case.

Returns:


getBeanDescriptor

public BeanDescriptor getBeanDescriptor()

Get the general description of this Bean type.

Returns:


getDefaultEventIndex

public int getDefaultEventIndex()

Get the "default" event, basically the one a RAD tool user is most likely to select.

Returns:


getDefaultPropertyIndex

public int getDefaultPropertyIndex()

Get the "default" property, basically the one a RAD tool user is most likely to select.

Returns:


getEventSetDescriptors

public EventSetDescriptor[] getEventSetDescriptors()

Get the events this Bean type fires.

Returns:


getIcon

public Image getIcon(int iconType)

Get a visual icon for this Bean. A Bean does not have to support icons, and if it does support icons, it does not have to support every single type. Sun recommends that if you only support one type, you support 16x16 color. Sun also notes that you should try to use a type (like GIF) that allows for transparent pixels, so that the background of the RAD tool can show through.

Spec Note: If you do not support the type of icon that is being asked for, but you do support another type, it is unclear whether you should return the other type or not. I would presume not.

Parameters:

Returns:


getMethodDescriptors

public MethodDescriptor[] getMethodDescriptors()

Get the methods this Bean type supports.

Returns:


getPropertyDescriptors

public PropertyDescriptor[] getPropertyDescriptors()

Get the properties (get/set method pairs) this Bean type supports.

Returns: