org.apache.commons.el
Class BeanInfoManager

java.lang.Object
  extended byorg.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: scolebourne $
Author:
Nathan Abramson - Art Technology Group

Field Summary
private static org.apache.commons.logging.Log log
           
(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()
          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()
          Returns the BeanInfo for the class
static BeanInfoIndexedProperty getBeanInfoIndexedProperty(java.lang.Class pClass, java.lang.String pIndexedPropertyName)
          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)
          Returns the BeanInfoProperty for the specified property in the given class, or null if not found.
 java.beans.EventSetDescriptor getEventSet(java.lang.String pEventSetName)
          Returns the EventSetDescriptor for the given event set name, or null if not found.
 BeanInfoIndexedProperty getIndexedProperty(java.lang.String pIndexedPropertyName)
          Returns the BeanInfoIndexedProperty for the given property name, or null if not found.
 BeanInfoProperty getProperty(java.lang.String pPropertyName)
          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()
          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

log

private static org.apache.commons.logging.Log log

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)
                                            throws javax.servlet.jsp.el.ELException
Returns the BeanInfoProperty for the specified property in the given class, or null if not found.

Throws:
javax.servlet.jsp.el.ELException

getBeanInfoIndexedProperty

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

Throws:
javax.servlet.jsp.el.ELException

checkInitialized

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

Throws:
javax.servlet.jsp.el.ELException

initialize

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

Throws:
javax.servlet.jsp.el.ELException

getBeanInfo

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

Throws:
javax.servlet.jsp.el.ELException

getProperty

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

Throws:
javax.servlet.jsp.el.ELException

getIndexedProperty

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

Throws:
javax.servlet.jsp.el.ELException

getEventSet

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

Throws:
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