Class 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
    • Constructor Summary

      Constructors 
      Constructor Description
      BeanInfoManager​(java.lang.Class pBeanClass)
      Constructor
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (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.
        Throws:
        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.
        Throws:
        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.
        Throws:
        javax.servlet.jsp.el.ELException
      • initialize

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

        java.beans.BeanInfo getBeanInfo​(Logger pLogger)
                                 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,
                                            Logger pLogger)
                                     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,
                                                          Logger pLogger)
                                                   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,
                                                         Logger pLogger)
                                                  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.