org.apache.commons.el
Class BeanInfoManager

java.lang.Object
  |
  +--org.apache.commons.el.BeanInfoManager

public class BeanInfoManager
extends java.lang.Object

Manages the BeanInfo for one class - contains the BeanInfo, and also a mapping from property name to BeanInfoProperty. There are also static methods for accessing the BeanInfoManager for a class - those mappings are cached permanently so that once the BeanInfoManager is calculated, it doesn't have to be calculated again.

Version:
$Change: 181181 $$DateTime: 2001/06/26 09:55:09 $$Author: luehe $
Author:
Nathan Abramson - Art Technology Group

Field Summary
(package private)  java.lang.Class mBeanClass
           
(package private)  java.beans.BeanInfo mBeanInfo
           
(package private) static java.util.Map mBeanInfoManagerByClass
           
(package private)  java.util.Map mEventSetByName
           
(package private)  java.util.Map mIndexedPropertyByName
           
(package private)  boolean mInitialized
           
(package private)  java.util.Map mPropertyByName
           
 
Constructor Summary
(package private) BeanInfoManager(java.lang.Class pBeanClass)
          Constructor
 
Method Summary
(package private)  void checkInitialized(Logger pLogger)
          Makes sure that this class has been initialized, and synchronizes the initialization if it's required.
(package private) static BeanInfoManager createBeanInfoManager(java.lang.Class pClass)
          Creates and registers the BeanInfoManager for the given class if it isn't already registered.
 java.lang.Class getBeanClass()
           
(package private)  java.beans.BeanInfo getBeanInfo(Logger pLogger)
          Returns the BeanInfo for the class
static BeanInfoIndexedProperty getBeanInfoIndexedProperty(java.lang.Class pClass, java.lang.String pIndexedPropertyName, Logger pLogger)
          Returns the BeanInfoIndexedProperty for the specified property in the given class, or null if not found.
static BeanInfoManager getBeanInfoManager(java.lang.Class pClass)
          Returns the BeanInfoManager for the specified class
static BeanInfoProperty getBeanInfoProperty(java.lang.Class pClass, java.lang.String pPropertyName, Logger pLogger)
          Returns the BeanInfoProperty for the specified property in the given class, or null if not found.
 java.beans.EventSetDescriptor getEventSet(java.lang.String pEventSetName, Logger pLogger)
          Returns the EventSetDescriptor for the given event set name, or null if not found.
 BeanInfoIndexedProperty getIndexedProperty(java.lang.String pIndexedPropertyName, Logger pLogger)
          Returns the BeanInfoIndexedProperty for the given property name, or null if not found.
 BeanInfoProperty getProperty(java.lang.String pPropertyName, Logger pLogger)
          Returns the BeanInfoProperty for the given property name, or null if not found.
(package private) static java.lang.reflect.Method getPublicMethod(java.lang.Class pClass, java.lang.reflect.Method pMethod)
          If the given class is public and has a Method that declares the same name and arguments as the given method, then that method is returned.
(package private) static java.lang.reflect.Method getPublicMethod(java.lang.reflect.Method pMethod)
          Returns a publicly-accessible version of the given method, by searching for a public declaring class.
(package private)  void initialize(Logger pLogger)
          Initializes by mapping property names to BeanInfoProperties
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mBeanClass

java.lang.Class mBeanClass

mBeanInfo

java.beans.BeanInfo mBeanInfo

mPropertyByName

java.util.Map mPropertyByName

mIndexedPropertyByName

java.util.Map mIndexedPropertyByName

mEventSetByName

java.util.Map mEventSetByName

mInitialized

boolean mInitialized

mBeanInfoManagerByClass

static java.util.Map mBeanInfoManagerByClass
Constructor Detail

BeanInfoManager

BeanInfoManager(java.lang.Class pBeanClass)
Constructor

Method Detail

getBeanClass

public java.lang.Class getBeanClass()

getBeanInfoManager

public static BeanInfoManager getBeanInfoManager(java.lang.Class pClass)
Returns the BeanInfoManager for the specified class


createBeanInfoManager

static BeanInfoManager createBeanInfoManager(java.lang.Class pClass)
Creates and registers the BeanInfoManager for the given class if it isn't already registered.


getBeanInfoProperty

public static BeanInfoProperty getBeanInfoProperty(java.lang.Class pClass,
                                                   java.lang.String pPropertyName,
                                                   Logger pLogger)
                                            throws javax.servlet.jsp.el.ELException
Returns the BeanInfoProperty for the specified property in the given class, or null if not found.

javax.servlet.jsp.el.ELException

getBeanInfoIndexedProperty

public static BeanInfoIndexedProperty getBeanInfoIndexedProperty(java.lang.Class pClass,
                                                                 java.lang.String pIndexedPropertyName,
                                                                 Logger pLogger)
                                                          throws javax.servlet.jsp.el.ELException
Returns the BeanInfoIndexedProperty for the specified property in the given class, or null if not found.

javax.servlet.jsp.el.ELException

checkInitialized

void checkInitialized(Logger pLogger)
                throws javax.servlet.jsp.el.ELException
Makes sure that this class has been initialized, and synchronizes the initialization if it's required.

javax.servlet.jsp.el.ELException

initialize

void initialize(Logger pLogger)
          throws javax.servlet.jsp.el.ELException
Initializes by mapping property names to BeanInfoProperties

javax.servlet.jsp.el.ELException

getBeanInfo

java.beans.BeanInfo getBeanInfo(Logger pLogger)
                          throws javax.servlet.jsp.el.ELException
Returns the BeanInfo for the class

javax.servlet.jsp.el.ELException

getProperty

public BeanInfoProperty getProperty(java.lang.String pPropertyName,
                                    Logger pLogger)
                             throws javax.servlet.jsp.el.ELException
Returns the BeanInfoProperty for the given property name, or null if not found.

javax.servlet.jsp.el.ELException

getIndexedProperty

public BeanInfoIndexedProperty getIndexedProperty(java.lang.String pIndexedPropertyName,
                                                  Logger pLogger)
                                           throws javax.servlet.jsp.el.ELException
Returns the BeanInfoIndexedProperty for the given property name, or null if not found.

javax.servlet.jsp.el.ELException

getEventSet

public java.beans.EventSetDescriptor getEventSet(java.lang.String pEventSetName,
                                                 Logger pLogger)
                                          throws javax.servlet.jsp.el.ELException
Returns the EventSetDescriptor for the given event set name, or null if not found.

javax.servlet.jsp.el.ELException

getPublicMethod

static java.lang.reflect.Method getPublicMethod(java.lang.reflect.Method pMethod)
Returns a publicly-accessible version of the given method, by searching for a public declaring class.


getPublicMethod

static java.lang.reflect.Method getPublicMethod(java.lang.Class pClass,
                                                java.lang.reflect.Method pMethod)
If the given class is public and has a Method that declares the same name and arguments as the given method, then that method is returned. Otherwise the superclass and interfaces are searched recursively.



Copyright (c) 2001-2002 - Apache Software Foundation