|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.beans.CachedIntrospectionResults
final class CachedIntrospectionResults
Internal class that caches JavaBeans PropertyDescriptor
information for a Java class. Not intended for direct use by application code.
Necessary as Introspector.getBeanInfo()
in JDK 1.3 will
return a new deep copy of the BeanInfo every time we ask for it. We take the
opportunity to cache property descriptors by method name for fast lookup.
Furthermore, we do our own caching of descriptors here, rather than rely on
the JDK's system-wide BeanInfo cache (to avoid leaks on ClassLoader shutdown).
Information is cached statically, so we don't need to create new
objects of this class for every JavaBean we manipulate. Hence, this class
implements the factory design pattern, using a private constructor and
a static forClass(Class)
factory method to obtain instances.
forClass(Class)
Method Summary | |
---|---|
static CachedIntrospectionResults |
forClass(Class beanClass)
Create CachedIntrospectionResults for the given bean class. |
Class |
getBeanClass()
|
BeanInfo |
getBeanInfo()
|
PropertyDescriptor |
getPropertyDescriptor(String propertyName)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static CachedIntrospectionResults forClass(Class beanClass) throws BeansException
We don't want to use synchronization here. Object references are atomic, so we can live with doing the occasional unnecessary lookup at startup only.
beanClass
- the bean class to analyze
BeansException
- in case of introspection failurepublic BeanInfo getBeanInfo()
public Class getBeanClass()
public PropertyDescriptor getPropertyDescriptor(String propertyName)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |