|
20080913, rgf | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.bsf.util.ReflectionUtils
This file is a collection of reflection utilities. There are utilities for creating beans, getting bean infos, setting/getting properties, and binding events.
Field Summary | |
(package private) static java.lang.ClassLoader |
bsfManagerDefinedCL
|
Constructor Summary | |
ReflectionUtils()
|
Method Summary | |
static void |
addEventListener(java.lang.Object source,
java.lang.String eventSetName,
EventProcessor processor)
Add an event processor as a listener to some event coming out of an object. |
static Bean |
createBean(java.lang.ClassLoader cld,
java.lang.String className,
java.lang.Class[] argTypes,
java.lang.Object[] args)
Create a bean using given class loader and using the appropriate constructor for the given args of the given arg types. |
static Bean |
createBean(java.lang.ClassLoader cld,
java.lang.String className,
java.lang.Object[] args)
Create a bean using given class loader and using the appropriate constructor for the given args. |
static Bean |
getField(java.lang.Object target,
java.lang.String fieldName)
|
static Bean |
getProperty(java.lang.Object target,
java.lang.String propName,
java.lang.Integer index)
Get a property of a bean. |
static void |
setField(java.lang.Object target,
java.lang.String fieldName,
Bean value,
TypeConvertorRegistry tcr)
|
static void |
setProperty(java.lang.Object target,
java.lang.String propName,
java.lang.Integer index,
java.lang.Object value,
java.lang.Class valueType,
TypeConvertorRegistry tcr)
Set a property of a bean to a given value. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
static java.lang.ClassLoader bsfManagerDefinedCL
Constructor Detail |
public ReflectionUtils()
Method Detail |
public static void addEventListener(java.lang.Object source, java.lang.String eventSetName, EventProcessor processor) throws java.beans.IntrospectionException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException
source
- event sourceeventSetName
- name of event set from event src to bind toprocessor
- event processor the event should be delegated to
when it occurs; either via processEvent or
processExceptionableEvent.
java.beans.IntrospectionException
- if unable to introspect
java.lang.IllegalArgumentException
- if event set is unknown
java.lang.IllegalAccessException
- if the event adapter class or
initializer is not accessible.
java.lang.InstantiationException
- if event adapter instantiation fails
java.lang.reflect.InvocationTargetException
- if something goes wrong while
running add event listener methodpublic static Bean createBean(java.lang.ClassLoader cld, java.lang.String className, java.lang.Class[] argTypes, java.lang.Object[] args) throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.io.IOException
cld
- the class loader to use. If null, Class.forName is used.className
- name of class to instantiateargTypes
- array of argument typesargs
- array of arguments
java.lang.ClassNotFoundException
- if class is not loaded
java.lang.NoSuchMethodException
- if constructor can't be found
java.lang.InstantiationException
- if class can't be instantiated
java.lang.IllegalAccessException
- if class is not accessible
java.lang.IllegalArgumentException
- if argument problem
java.lang.reflect.InvocationTargetException
- if constructor excepted
java.io.IOException
- if I/O error in beans.instantiatepublic static Bean createBean(java.lang.ClassLoader cld, java.lang.String className, java.lang.Object[] args) throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.io.IOException
cld
- the class loader to use. If null, Class.forName is used.className
- name of class to instantiateargs
- array of arguments
java.lang.ClassNotFoundException
- if class is not loaded
java.lang.NoSuchMethodException
- if constructor can't be found
java.lang.InstantiationException
- if class can't be instantiated
java.lang.IllegalAccessException
- if class is not accessible
java.lang.IllegalArgumentException
- if argument problem
java.lang.reflect.InvocationTargetException
- if constructor excepted
java.io.IOException
- if I/O error in beans.instantiatepublic static Bean getField(java.lang.Object target, java.lang.String fieldName) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public static Bean getProperty(java.lang.Object target, java.lang.String propName, java.lang.Integer index) throws java.beans.IntrospectionException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
target
- the object whose prop is to be gottenpropName
- name of the property to setindex
- index to get (if property is indexed)
java.beans.IntrospectionException
- if unable to introspect
java.lang.IllegalArgumentException
- if problems with args: if the
property is unknown, or if the property is given an index
when its not, or if the property is not writeable, or if
the given value cannot be assigned to the it (type mismatch).
java.lang.IllegalAccessException
- if read method is not accessible
java.lang.reflect.InvocationTargetException
- if read method exceptspublic static void setField(java.lang.Object target, java.lang.String fieldName, Bean value, TypeConvertorRegistry tcr) throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
public static void setProperty(java.lang.Object target, java.lang.String propName, java.lang.Integer index, java.lang.Object value, java.lang.Class valueType, TypeConvertorRegistry tcr) throws java.beans.IntrospectionException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
target
- the object whose prop is to be setpropName
- name of the property to setindex
- index to set (if property is indexed)value
- the property valuevalueType
- the type of the above (needed when its null)tcr
- type convertor registry to use to convert value type to
property type if necessary
java.beans.IntrospectionException
- if unable to introspect
java.lang.IllegalArgumentException
- if problems with args: if the
property is unknown, or if the property is given an index
when its not, or if the property is not writeable, or if
the given value cannot be assigned to the it (type mismatch).
java.lang.IllegalAccessException
- if write method is not accessible
java.lang.reflect.InvocationTargetException
- if write method excepts
|
20080913, rgf | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |