From Wikibooks, open books for an open world
Jump to navigation Jump to search


   The Introspector class provides a standard way for tools to learn about 
   the properties, events, and methods supported by a target Java Bean.
   For each of those three kinds of information, the Introspector will separately
   analyze the bean's class and superclasses looking for either explicit or 
   implicit information and use that information to build a BeanInfo object 
   that comprehensively describes the target bean.
   For each class "Foo", explicit information may be available if 
   there exists a corresponding "FooBeanInfo" class that provides 
   a non-null value when queried for the information. We first look 
   for the BeanInfo class by taking the full package-qualified name 
   of the target bean class and appending "BeanInfo" to form a new 
   class name. If this fails, then we take the final classname 
   component of this name, and look for that class in each of 
   the packages specified in the BeanInfo package search path.
   Thus for a class such as "" we would first look for 
   a BeanInfo class called "" and if that failed 
   we'd look in each package in the BeanInfo search path for an 
   OurButtonBeanInfo class. With the default search path, 
   this would mean looking for "sun.beans.infos.OurButtonBeanInfo".
   If a class provides explicit BeanInfo about itself then 
   we add that to the BeanInfo information we obtained from
   analyzing any derived classes, but we regard the explicit
   information as being definitive for the current class and
   its base classes, and do not proceed any further up the 
   superclass chain.
   If we don't find explicit BeanInfo on a class, 
   we use low-level reflection to study the methods of the class 
   and apply standard design patterns to identify 
   property accessors, event sources, or public methods. 
   We then proceed to analyze the class's superclass 
   and add in the information from it 
   (and possibly on up the superclass chain).
   For more information about introspection and design patterns, 
   please consult the JavaBeans specification.


   A Helper class for the Marshaller and Unmarshaller, 
   basically the common code base between the two. 
   This class handles the introspection to 
   dynamically create descriptors.

Creates an XMLClassDescriptor?

   A class descriptor for describing relationships between a Class 
   and an XML element or complexType. This class implements 
   org.exolab.castor.mapping.ClassDescriptor, yet adds extra
   methods for handling XML. All fields are of type XMLFieldDescriptor.


Introspect eCM

   Introspect eCM, the industry’s leading case management, litigation support, 
   and compliance risk management software product, uses advanced e-Discovery
   technology to rapidly and efficiently aggregate all paper-based 
   and electronically stored data - including all employee, client, and partner
   correspondences. Introspect qualifies data for searching, foldering, 
   and reviewing; analyzes data for risks; and produces any and all 
   corporate information necessary to ensure compliance and protection from litigation.