org.apache.axis2.classloader
Class BeanInfoCache
java.lang.Object
org.apache.axis2.classloader.BeanInfoCache
public final class BeanInfoCache
- extends Object
BeanInfo
cache that stores introspection results by bean class and stop class. This goes
beyond the caching provided by the JRE, which only caches the results of
Introspector.getBeanInfo(Class)
, but not the results of
Introspector.getBeanInfo(Class, Class)
(with non null stop class).
To avoid class loader leaks, this class should not be used as a singleton if the introspected
classes are loaded from class loaders that are children of the class loader which holds the
reference to the cache. In such scenarios, use getCachedBeanInfo(Class, Class)
.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BeanInfoCache
public BeanInfoCache()
getBeanInfo
public BeanInfo getBeanInfo(Class<?> beanClass,
Class<?> stopClass)
throws IntrospectionException
- Introspect on a Java bean and return a cached
BeanInfo
object.
- Parameters:
beanClass
- The bean class to be analyzed.stopClass
- The base class at which to stop the analysis; may be null
.
- Returns:
- A
BeanInfo
object describing the target bean.
- Throws:
IntrospectionException
- if an exception occurs during introspection.- See Also:
Introspector.getBeanInfo(Class, Class)
getCachedBeanInfo
public static BeanInfo getCachedBeanInfo(Class<?> beanClass,
Class<?> stopClass)
throws IntrospectionException
- Locate an appropriate
BeanInfoCache
and return a cached BeanInfo
object.
This method ensures that caching the BeanInfo
object will not result in a class
loader leak.
- Parameters:
beanClass
- The bean class to be analyzed.stopClass
- The base class at which to stop the analysis; may be null
.
- Returns:
- A
BeanInfo
object describing the target bean.
- Throws:
IntrospectionException
- if an exception occurs during introspection.
Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.