| java.lang.Object java.beans.Introspector
Introspector | public class Introspector extends java.lang.Object (Code) | | The Introspector is a utility for developers to figure out
which properties, events, and methods a JavaBean supports.
The Introspector class walks over the class/superclass chain
of the target bean class. At each level it checks if there is a matching
BeanInfo class which provides explicit information about the
bean, and if so uses that explicit information. Otherwise it uses the low
level reflection APIs to study the target class and uses design patterns to
analyze its behaviour and then proceeds to continue the introspection with
its baseclass.
To look for the explicit information of a bean:
- The
Introspector appends "BeanInfo" to the qualified name
of the bean class, try to use the new class as the "BeanInfo" class. If the
"BeanInfo" class exsits and returns non-null value when queried for explicit
information, use the explicit information
- If the first step fails, the
Introspector will extract a
simple class name of the bean class by removing the package name from the
qualified name of the bean class, append "BeanInfo" to it. And look for the
simple class name in the packages defined in the "BeanInfo" search path (The
default "BeanInfo" search path is sun.beans.infos ). If it
finds a "BeanInfo" class and the "BeanInfo" class returns non-null value when
queried for explicit information, use the explicit information
|
Field Summary | |
final public static int | IGNORE_ALL_BEANINFO Constant values to indicate that the Introspector will
ignore all BeanInfo class. | final public static int | IGNORE_IMMEDIATE_BEANINFO Constant values to indicate that the Introspector will
ignore the BeanInfo class of the current bean class. | final public static int | USE_ALL_BEANINFO Constant values to indicate that the Introspector will use
all BeanInfo class which have been found. |
Method Summary | |
public static String | decapitalize(String name) | public static void | flushCaches() Flushes all BeanInfo caches. | public static void | flushFromCaches(Class> clazz) | public static BeanInfo | getBeanInfo(Class> beanClass) Gets the BeanInfo object which contains the information of
the properties, events and methods of the specified bean class.
The Introspector will cache the BeanInfo
object. | public static BeanInfo | getBeanInfo(Class> beanClass, Class> stopClass) Gets the BeanInfo object which contains the information of
the properties, events and methods of the specified bean class. | public static BeanInfo | getBeanInfo(Class> beanClass, int flags) Gets the BeanInfo object which contains the information of
the properties, events and methods of the specified bean class.
- If
flag==IGNORE_ALL_BEANINFO , the
Introspector will ignore all BeanInfo
class.
- If
flag==IGNORE_IMMEDIATE_BEANINFO , the
Introspector will ignore the BeanInfo class
of the current bean class.
- If
flag==USE_ALL_BEANINFO , the
Introspector will use all BeanInfo class
which have been found.
The Introspector will cache the BeanInfo
object. | public static String[] | getBeanInfoSearchPath() Gets an array of search packages. | public static void | setBeanInfoSearchPath(String[] path) Sets the search packages. |
IGNORE_ALL_BEANINFO | final public static int IGNORE_ALL_BEANINFO(Code) | | Constant values to indicate that the Introspector will
ignore all BeanInfo class.
|
IGNORE_IMMEDIATE_BEANINFO | final public static int IGNORE_IMMEDIATE_BEANINFO(Code) | | Constant values to indicate that the Introspector will
ignore the BeanInfo class of the current bean class.
|
USE_ALL_BEANINFO | final public static int USE_ALL_BEANINFO(Code) | | Constant values to indicate that the Introspector will use
all BeanInfo class which have been found. This is the default one.
|
decapitalize | public static String decapitalize(String name)(Code) | | Decapitalizes a given string according to the rule:
- If the first or only character is Upper Case, it is made Lower Case
- UNLESS the second character is also Upper Case, when the String is
returned unchanged
Parameters: name - -the String to decapitalize the decapitalized version of the String |
flushCaches | public static void flushCaches()(Code) | | Flushes all BeanInfo caches.
|
flushFromCaches | public static void flushFromCaches(Class> clazz)(Code) | | Flushes the BeanInfo caches of the specified bean class
Parameters: clazz - the specified bean class |
getBeanInfo | public static BeanInfo getBeanInfo(Class> beanClass) throws IntrospectionException(Code) | | Gets the BeanInfo object which contains the information of
the properties, events and methods of the specified bean class.
The Introspector will cache the BeanInfo
object. Subsequent calls to this method will be answered with the cached
data.
Parameters: beanClass - the specified bean class. the BeanInfo of the bean class. throws: IntrospectionException - |
getBeanInfo | public static BeanInfo getBeanInfo(Class> beanClass, Class> stopClass) throws IntrospectionException(Code) | | Gets the BeanInfo object which contains the information of
the properties, events and methods of the specified bean class. It will
not introspect the "stopclass" and its super class.
The Introspector will cache the BeanInfo
object. Subsequent calls to this method will be answered with the cached
data.
Parameters: beanClass - the specified beanClass. Parameters: stopClass - the sopt class which should be super class of the bean class.May be null. the BeanInfo of the bean class. throws: IntrospectionException - |
getBeanInfo | public static BeanInfo getBeanInfo(Class> beanClass, int flags) throws IntrospectionException(Code) | | Gets the BeanInfo object which contains the information of
the properties, events and methods of the specified bean class.
- If
flag==IGNORE_ALL_BEANINFO , the
Introspector will ignore all BeanInfo
class.
- If
flag==IGNORE_IMMEDIATE_BEANINFO , the
Introspector will ignore the BeanInfo class
of the current bean class.
- If
flag==USE_ALL_BEANINFO , the
Introspector will use all BeanInfo class
which have been found.
The Introspector will cache the BeanInfo
object. Subsequent calls to this method will be answered with the cached
data.
Parameters: beanClass - the specified bean class. Parameters: flags - the flag to control the usage of the explicitBeanInfo class. the BeanInfo of the bean class. throws: IntrospectionException - |
getBeanInfoSearchPath | public static String[] getBeanInfoSearchPath()(Code) | | Gets an array of search packages.
an array of search packages. |
setBeanInfoSearchPath | public static void setBeanInfoSearchPath(String[] path)(Code) | | Sets the search packages.
Parameters: path - the new search packages to be set. |
|
|