org.apache.commons.jxpath
Class JXPathIntrospector

java.lang.Object
  extended byorg.apache.commons.jxpath.JXPathIntrospector

public class JXPathIntrospector
extends java.lang.Object

JXPathIntrospector maintains a registry of JXPathBeanInfo objects for Java classes.

Version:
$Revision: 1.10 $ $Date: 2004/05/08 15:10:05 $
Author:
Dmitri Plotnikov

Field Summary
private static java.util.HashMap byClass
           
private static java.util.HashMap byInterface
           
 
Constructor Summary
JXPathIntrospector()
           
 
Method Summary
private static JXPathBeanInfo findDynamicBeanInfo(java.lang.Class beanClass)
          Find a dynamic bean info if available for any superclasses or interfaces.
private static JXPathBeanInfo findInformant(java.lang.Class beanClass)
           
static JXPathBeanInfo getBeanInfo(java.lang.Class beanClass)
          Creates and registers a JXPathBeanInfo object for the supplied class.
private static java.lang.Object instantiate(java.lang.Class sibling, java.lang.String className)
          Try to create an instance of a named class.
static void registerAtomicClass(java.lang.Class beanClass)
          Automatically creates and registers a JXPathBeanInfo object for the specified class.
static void registerDynamicClass(java.lang.Class beanClass, java.lang.Class dynamicPropertyHandlerClass)
          Automatically creates and registers a JXPathBeanInfo object for the specified class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

byClass

private static java.util.HashMap byClass

byInterface

private static java.util.HashMap byInterface
Constructor Detail

JXPathIntrospector

public JXPathIntrospector()
Method Detail

registerAtomicClass

public static void registerAtomicClass(java.lang.Class beanClass)
Automatically creates and registers a JXPathBeanInfo object for the specified class. That object returns true to isAtomic().


registerDynamicClass

public static void registerDynamicClass(java.lang.Class beanClass,
                                        java.lang.Class dynamicPropertyHandlerClass)
Automatically creates and registers a JXPathBeanInfo object for the specified class. That object returns true to isDynamic().


getBeanInfo

public static JXPathBeanInfo getBeanInfo(java.lang.Class beanClass)
Creates and registers a JXPathBeanInfo object for the supplied class. If the class has already been registered, returns the registered JXPathBeanInfo object.

The process of creation of JXPathBeanInfo is as follows:


findDynamicBeanInfo

private static JXPathBeanInfo findDynamicBeanInfo(java.lang.Class beanClass)
Find a dynamic bean info if available for any superclasses or interfaces.


findInformant

private static JXPathBeanInfo findInformant(java.lang.Class beanClass)

instantiate

private static java.lang.Object instantiate(java.lang.Class sibling,
                                            java.lang.String className)
                                     throws java.lang.Exception
Try to create an instance of a named class. First try the classloader of "sibling", then try the system classloader.

Throws:
java.lang.Exception