wt.introspection
Class XmlClassIiGenerator

java.lang.Object
  extended bywt.introspection.XmlIiGenerator
      extended bywt.introspection.XmlClassIiGenerator

public class XmlClassIiGenerator
extends XmlIiGenerator

Produces reports for the set of classes whose names are provided in a String array.


Field Summary
static String ALIASED_CLASS_ELEM_NAME
           
static String ALIASED_ROLE_NAME_ATTR_NAME
           
static String BUSINESS_CLASS_ATTR_NAME
           
static String CARDINALITY_ATTR_NAME
           
static String CLASS_INFO_ELEM_NAME
           
static String CLASS_NAME_ATTR_NAME
           
private  ClassInfo classInfo_
           
private  Document classInfoDocument_
           
private  Element classInfoElement_
           
private  String className_
           
static String COLUMN_ELEM_NAME
           
static String COLUMN_NAME_1_ATTR_NAME
           
static String COLUMN_NAME_2_ATTR_NAME
           
static String COLUMN_REF_ELEM_NAME
           
static String CONCRETE_CLASS_ATTR_NAME
           
static String CRITERION_ELEM_NAME
           
static String DB_COLUMN_NAME_ELEM_NAME
           
static String DB_COMP_INDEX_ELEM_NAME
           
static String DB_INDEX_TABLE_SPACE_ATTR_NAME
           
static String DB_IS_AUTO_NAVIGATE_ATTR_NAME
           
static String DB_PACKAGE_NAME_ATTR_NAME
           
static String DB_TABLE_NAME_ATTR_NAME
           
static String DB_TABLE_SIZE_ATTR_NAME
           
static String DB_TABLE_SPACE_ATTR_NAME
           
static String DESCENDANT_ELEM_NAME
           
static String DISPLAY_NAME_ELEM_NAME
           
static String ERROR_DESCRIPTION_ATTR_NAME
           
static String ERROR_ELEM_NAME
           
static String EXTERNALIZATION_VERSION_UID_ATTR_NAME
           
private  boolean ignoreLinkageErrors_
           
static String INDEXED_PROP_TYPE_ATTR_NAME
           
static String INDEXED_READ_METHOD_ATTR_NAME
           
static String INDEXED_WRITE_METHOD_ATTR_NAME
           
static String INTERFACE_ELEM_NAME
           
static String IS_AGGREGATED_ATTR_NAME
           
static String IS_ATTRIBUTED_ATTR_NAME
           
static String IS_AUTO_NAVIGATE_ATTR_NAME
           
static String IS_BOUND_ATTR_NAME
           
static String IS_COMPOSED_ATTR_NAME
           
static String IS_CONCRETE_ATTR_NAME
           
static String IS_CONSTRAINED_ATTR_NAME
           
static String IS_DEPENDENCY_ATTR_NAME
           
static String IS_DERIVED_ATTR_NAME
           
static String IS_DIRECT_DESCENDANT_ATTR_NAME
           
static String IS_EXPERT_ATTR_NAME
           
static String IS_HIDDEN_ATTR_NAME
           
static String IS_INDEXED_ATTR_NAME
           
static String IS_LINK_TABLE_ATTR_NAME
           
static String IS_MULTIPLE_ATTR_NAME
           
static String IS_NAVIGABLE_ATTR_NAME
           
static String IS_OPTIONAL_ATTR_NAME
           
static String IS_PERSISTABLE_ATTR_NAME
           
static String IS_REQUIRED_ATTR_NAME
           
static String IS_UNBOUNDED_ATTR_NAME
           
static String IS_UNIQUE_ATTR_NAME
           
static String IS_UPDATABLE_ATTR_NAME
           
static String JAVA_TYPE_ATTR_NAME
           
static String LENGTH_ATTR_NAME
           
static String LINK_INFO_ATTR_NAME
           
static String LINK_INFO_ELEM_NAME
           
static String LOCALE_ATTR_NAME
           
static String NAME_ATTR_NAME
           
static String NUMBER_ATTR_NAME
           
static String OPEN_ICON_ATTR_NAME
           
static String OPERATOR_ATTR_NAME
           
static String OTHER_ROLE_ATTR_NAME
           
static String PACKAGE_NAME_ATTR_NAME
           
static String PARENT_CLASS_ATTR_NAME
           
static String PROPERTY_ELEM_NAME
           
static String PROPERTY_TYPE_ATTR_NAME
           
static String QUERY_NAME_ATTR_NAME
           
static String READ_METHOD_ATTR_NAME
           
static String REFERENCE_NAME_ATTR_NAME
           
static String REFERENCE_TYPE_ATTR_NAME
           
static String ROLE_ALIAS_ELEM_NAME
           
static String ROLE_ELEM_NAME
           
static String ROLE_SIDE_ATTR_NAME
           
static String SERIAL_VERSION_UID_ATTR_NAME
           
static String SERIALIZABLE_TYPE_ATTR_NAME
           
static String SHORT_DESCRIPTION_ELEM_NAME
           
static String SQL_TYPE_ATTR_NAME
           
static String STANDARD_ICON_ATTR_NAME
           
static String TABLE_ALIAS_ATTR_NAME
           
static String TABLE_NAME_1_ATTR_NAME
           
static String TABLE_NAME_2_ATTR_NAME
           
static String VALID_CLASS_INFO_ATTR_NAME
           
static String VIEW_ELEM_NAME
           
static String WRITE_METHOD_ATTR_NAME
           
 
Fields inherited from class wt.introspection.XmlIiGenerator
directory, ENUMERATED_TYPE, ignoreProblems, modelRegistry, outputDirectory, printReport, suffix, WINDCHILL_CLASS
 
Constructor Summary
  XmlClassIiGenerator(String class_name)
          Create an instance to produce a report for the specified class.
(package private) XmlClassIiGenerator(String class_name, XmlIiGenerator parent)
           
 
Method Summary
private  ClassInfo classInfo()
           
private  Element classInfoElement()
           
private  String classPartOf(String fully_qualified_class_name)
          Return just the class name part of the fully qualified class name.
private  void clearResultHoldersIfNecessary()
           
private  void createValueElement(Element parent_element, String attribute_name, Object value)
          Create an element for property descriptor value with the given name and value.
private  Document document()
           
private  void exerciseAttributeInfo(AttributeDescriptor[] attrs)
          Exercise the methods of the AttributeDescriptors.
private  void exerciseClassInfo()
          Exercise the methods of the ClassInfo class.
private  void exerciseColumnInfo(ColumnDescriptor attr, Element parent_element, boolean in_view)
          Exercise the methods of the ColumnDescriptor.
private  void exerciseColumnInfos(ColumnDescriptor[] attrs, Element parent_element, boolean in_view)
          Exercise the methods of the ColumnDescriptors.
private  void exerciseCriteria(CriteriaDescriptor[] criteria, Element parent_element)
          Exercise the methods of the CriteriaDescriptors.
private  void exerciseCriterion(CriteriaDescriptor criterion, int number, Element parent_element)
          Exercise the methods of the CriteriaDescriptor.
private  void exerciseDatabaseInfo(DatabaseInfo dbInfo)
          Exercise the methods of the ClassInfo class.
private  void exerciseLinkInfo()
          Exercise the methods of the LinkInfo class.
private  void exercisePropertyInfo(PropertyDescriptor property, Element parent_element)
          Exercise the methods of the PropertyDescriptor.
private  void exercisePropertyInfos(PropertyDescriptor[] properties, Element parent_element)
          Exercise the methods of the PropertyDescriptors.
private  void exerciseRoleInfo(RoleDescriptor role, Element parent_element, String role_side_name)
          Exercise the methods of the RoleDescriptor.
private  void exerciseRoleInfos(RoleDescriptor[] roles, Element parent_element, String role_side_name)
          Exercise an array of RoleDescriptors.
 String getClassName()
          The name of the class for which the generator will produce a report.
private  void initResultHoldersFor(ClassInfo class_info)
           
private  ClassInfo lookupClassInfoFor(String full_class_name)
           
private  String packagePartOf(String fully_qualified_class_name)
          Return just the package part of the fully qualified class name.
private  void printReportIfNecessary()
           
 void process()
          Process the class, producing a report if necessary.
private  void reportErrorOrThrow(Throwable t, String context_description)
          If not in ignore mode, then re-throw the Throwable.
private  void reportErrorOrThrow(Throwable t, String context_description, Element parent_element)
          If not in ignore mode, then re-throw the Throwable.
private  void setAttribute(Element elem, String attribute_name, String value)
          Set the attribute with the provided name and value on the specified element.
private  void setAttribute(Element elem, String attribute_name, String value, String[] to_exclude)
          Set the attribute with the provided name and value on the specified element excluding certain values Values of null or "null" OR any of the values provided in the string array will result in no attribute being set.
 
Methods inherited from class wt.introspection.XmlIiGenerator
getOutputDirectory, isIntrospectable, main, newDocument, print, print, report, setDirectory, setIgnoreProblems, setOutputDirectory, setPrintReport, setSuffix, tail, writeDocument
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALIASED_CLASS_ELEM_NAME

public static final String ALIASED_CLASS_ELEM_NAME
See Also:
Constant Field Values

CLASS_INFO_ELEM_NAME

public static final String CLASS_INFO_ELEM_NAME
See Also:
Constant Field Values

COLUMN_ELEM_NAME

public static final String COLUMN_ELEM_NAME
See Also:
Constant Field Values

COLUMN_REF_ELEM_NAME

public static final String COLUMN_REF_ELEM_NAME
See Also:
Constant Field Values

CRITERION_ELEM_NAME

public static final String CRITERION_ELEM_NAME
See Also:
Constant Field Values

DB_COLUMN_NAME_ELEM_NAME

public static final String DB_COLUMN_NAME_ELEM_NAME
See Also:
Constant Field Values

DB_COMP_INDEX_ELEM_NAME

public static final String DB_COMP_INDEX_ELEM_NAME
See Also:
Constant Field Values

DESCENDANT_ELEM_NAME

public static final String DESCENDANT_ELEM_NAME
See Also:
Constant Field Values

DISPLAY_NAME_ELEM_NAME

public static final String DISPLAY_NAME_ELEM_NAME
See Also:
Constant Field Values

ERROR_ELEM_NAME

public static final String ERROR_ELEM_NAME
See Also:
Constant Field Values

INTERFACE_ELEM_NAME

public static final String INTERFACE_ELEM_NAME
See Also:
Constant Field Values

LINK_INFO_ELEM_NAME

public static final String LINK_INFO_ELEM_NAME
See Also:
Constant Field Values

PROPERTY_ELEM_NAME

public static final String PROPERTY_ELEM_NAME
See Also:
Constant Field Values

ROLE_ALIAS_ELEM_NAME

public static final String ROLE_ALIAS_ELEM_NAME
See Also:
Constant Field Values

ROLE_ELEM_NAME

public static final String ROLE_ELEM_NAME
See Also:
Constant Field Values

SHORT_DESCRIPTION_ELEM_NAME

public static final String SHORT_DESCRIPTION_ELEM_NAME
See Also:
Constant Field Values

VIEW_ELEM_NAME

public static final String VIEW_ELEM_NAME
See Also:
Constant Field Values

ALIASED_ROLE_NAME_ATTR_NAME

public static final String ALIASED_ROLE_NAME_ATTR_NAME
See Also:
Constant Field Values

CARDINALITY_ATTR_NAME

public static final String CARDINALITY_ATTR_NAME
See Also:
Constant Field Values

CLASS_NAME_ATTR_NAME

public static final String CLASS_NAME_ATTR_NAME
See Also:
Constant Field Values

BUSINESS_CLASS_ATTR_NAME

public static final String BUSINESS_CLASS_ATTR_NAME
See Also:
Constant Field Values

COLUMN_NAME_1_ATTR_NAME

public static final String COLUMN_NAME_1_ATTR_NAME
See Also:
Constant Field Values

COLUMN_NAME_2_ATTR_NAME

public static final String COLUMN_NAME_2_ATTR_NAME
See Also:
Constant Field Values

CONCRETE_CLASS_ATTR_NAME

public static final String CONCRETE_CLASS_ATTR_NAME
See Also:
Constant Field Values

DB_INDEX_TABLE_SPACE_ATTR_NAME

public static final String DB_INDEX_TABLE_SPACE_ATTR_NAME
See Also:
Constant Field Values

DB_IS_AUTO_NAVIGATE_ATTR_NAME

public static final String DB_IS_AUTO_NAVIGATE_ATTR_NAME
See Also:
Constant Field Values

DB_PACKAGE_NAME_ATTR_NAME

public static final String DB_PACKAGE_NAME_ATTR_NAME
See Also:
Constant Field Values

DB_TABLE_NAME_ATTR_NAME

public static final String DB_TABLE_NAME_ATTR_NAME
See Also:
Constant Field Values

DB_TABLE_SPACE_ATTR_NAME

public static final String DB_TABLE_SPACE_ATTR_NAME
See Also:
Constant Field Values

DB_TABLE_SIZE_ATTR_NAME

public static final String DB_TABLE_SIZE_ATTR_NAME
See Also:
Constant Field Values

ERROR_DESCRIPTION_ATTR_NAME

public static final String ERROR_DESCRIPTION_ATTR_NAME
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID_ATTR_NAME

public static final String EXTERNALIZATION_VERSION_UID_ATTR_NAME
See Also:
Constant Field Values

INDEXED_PROP_TYPE_ATTR_NAME

public static final String INDEXED_PROP_TYPE_ATTR_NAME
See Also:
Constant Field Values

INDEXED_READ_METHOD_ATTR_NAME

public static final String INDEXED_READ_METHOD_ATTR_NAME
See Also:
Constant Field Values

INDEXED_WRITE_METHOD_ATTR_NAME

public static final String INDEXED_WRITE_METHOD_ATTR_NAME
See Also:
Constant Field Values

IS_AGGREGATED_ATTR_NAME

public static final String IS_AGGREGATED_ATTR_NAME
See Also:
Constant Field Values

IS_ATTRIBUTED_ATTR_NAME

public static final String IS_ATTRIBUTED_ATTR_NAME
See Also:
Constant Field Values

IS_AUTO_NAVIGATE_ATTR_NAME

public static final String IS_AUTO_NAVIGATE_ATTR_NAME
See Also:
Constant Field Values

IS_BOUND_ATTR_NAME

public static final String IS_BOUND_ATTR_NAME
See Also:
Constant Field Values

IS_COMPOSED_ATTR_NAME

public static final String IS_COMPOSED_ATTR_NAME
See Also:
Constant Field Values

IS_CONCRETE_ATTR_NAME

public static final String IS_CONCRETE_ATTR_NAME
See Also:
Constant Field Values

IS_CONSTRAINED_ATTR_NAME

public static final String IS_CONSTRAINED_ATTR_NAME
See Also:
Constant Field Values

IS_DEPENDENCY_ATTR_NAME

public static final String IS_DEPENDENCY_ATTR_NAME
See Also:
Constant Field Values

IS_DERIVED_ATTR_NAME

public static final String IS_DERIVED_ATTR_NAME
See Also:
Constant Field Values

IS_DIRECT_DESCENDANT_ATTR_NAME

public static final String IS_DIRECT_DESCENDANT_ATTR_NAME
See Also:
Constant Field Values

IS_EXPERT_ATTR_NAME

public static final String IS_EXPERT_ATTR_NAME
See Also:
Constant Field Values

IS_HIDDEN_ATTR_NAME

public static final String IS_HIDDEN_ATTR_NAME
See Also:
Constant Field Values

IS_INDEXED_ATTR_NAME

public static final String IS_INDEXED_ATTR_NAME
See Also:
Constant Field Values

IS_LINK_TABLE_ATTR_NAME

public static final String IS_LINK_TABLE_ATTR_NAME
See Also:
Constant Field Values

IS_MULTIPLE_ATTR_NAME

public static final String IS_MULTIPLE_ATTR_NAME
See Also:
Constant Field Values

IS_NAVIGABLE_ATTR_NAME

public static final String IS_NAVIGABLE_ATTR_NAME
See Also:
Constant Field Values

IS_OPTIONAL_ATTR_NAME

public static final String IS_OPTIONAL_ATTR_NAME
See Also:
Constant Field Values

IS_PERSISTABLE_ATTR_NAME

public static final String IS_PERSISTABLE_ATTR_NAME
See Also:
Constant Field Values

IS_REQUIRED_ATTR_NAME

public static final String IS_REQUIRED_ATTR_NAME
See Also:
Constant Field Values

IS_UNBOUNDED_ATTR_NAME

public static final String IS_UNBOUNDED_ATTR_NAME
See Also:
Constant Field Values

IS_UNIQUE_ATTR_NAME

public static final String IS_UNIQUE_ATTR_NAME
See Also:
Constant Field Values

IS_UPDATABLE_ATTR_NAME

public static final String IS_UPDATABLE_ATTR_NAME
See Also:
Constant Field Values

JAVA_TYPE_ATTR_NAME

public static final String JAVA_TYPE_ATTR_NAME
See Also:
Constant Field Values

LENGTH_ATTR_NAME

public static final String LENGTH_ATTR_NAME
See Also:
Constant Field Values

LINK_INFO_ATTR_NAME

public static final String LINK_INFO_ATTR_NAME
See Also:
Constant Field Values

LOCALE_ATTR_NAME

public static final String LOCALE_ATTR_NAME
See Also:
Constant Field Values

NAME_ATTR_NAME

public static final String NAME_ATTR_NAME
See Also:
Constant Field Values

NUMBER_ATTR_NAME

public static final String NUMBER_ATTR_NAME
See Also:
Constant Field Values

OPEN_ICON_ATTR_NAME

public static final String OPEN_ICON_ATTR_NAME
See Also:
Constant Field Values

OPERATOR_ATTR_NAME

public static final String OPERATOR_ATTR_NAME
See Also:
Constant Field Values

OTHER_ROLE_ATTR_NAME

public static final String OTHER_ROLE_ATTR_NAME
See Also:
Constant Field Values

PACKAGE_NAME_ATTR_NAME

public static final String PACKAGE_NAME_ATTR_NAME
See Also:
Constant Field Values

PARENT_CLASS_ATTR_NAME

public static final String PARENT_CLASS_ATTR_NAME
See Also:
Constant Field Values

PROPERTY_TYPE_ATTR_NAME

public static final String PROPERTY_TYPE_ATTR_NAME
See Also:
Constant Field Values

QUERY_NAME_ATTR_NAME

public static final String QUERY_NAME_ATTR_NAME
See Also:
Constant Field Values

READ_METHOD_ATTR_NAME

public static final String READ_METHOD_ATTR_NAME
See Also:
Constant Field Values

REFERENCE_NAME_ATTR_NAME

public static final String REFERENCE_NAME_ATTR_NAME
See Also:
Constant Field Values

REFERENCE_TYPE_ATTR_NAME

public static final String REFERENCE_TYPE_ATTR_NAME
See Also:
Constant Field Values

ROLE_SIDE_ATTR_NAME

public static final String ROLE_SIDE_ATTR_NAME
See Also:
Constant Field Values

SERIAL_VERSION_UID_ATTR_NAME

public static final String SERIAL_VERSION_UID_ATTR_NAME
See Also:
Constant Field Values

SERIALIZABLE_TYPE_ATTR_NAME

public static final String SERIALIZABLE_TYPE_ATTR_NAME
See Also:
Constant Field Values

SQL_TYPE_ATTR_NAME

public static final String SQL_TYPE_ATTR_NAME
See Also:
Constant Field Values

STANDARD_ICON_ATTR_NAME

public static final String STANDARD_ICON_ATTR_NAME
See Also:
Constant Field Values

TABLE_ALIAS_ATTR_NAME

public static final String TABLE_ALIAS_ATTR_NAME
See Also:
Constant Field Values

TABLE_NAME_1_ATTR_NAME

public static final String TABLE_NAME_1_ATTR_NAME
See Also:
Constant Field Values

TABLE_NAME_2_ATTR_NAME

public static final String TABLE_NAME_2_ATTR_NAME
See Also:
Constant Field Values

VALID_CLASS_INFO_ATTR_NAME

public static final String VALID_CLASS_INFO_ATTR_NAME
See Also:
Constant Field Values

WRITE_METHOD_ATTR_NAME

public static final String WRITE_METHOD_ATTR_NAME
See Also:
Constant Field Values

className_

private String className_

classInfo_

private ClassInfo classInfo_

ignoreLinkageErrors_

private boolean ignoreLinkageErrors_

classInfoDocument_

private Document classInfoDocument_

classInfoElement_

private Element classInfoElement_
Constructor Detail

XmlClassIiGenerator

public XmlClassIiGenerator(String class_name)
Create an instance to produce a report for the specified class.


XmlClassIiGenerator

XmlClassIiGenerator(String class_name,
                    XmlIiGenerator parent)
Method Detail

getClassName

public String getClassName()
The name of the class for which the generator will produce a report.


classInfo

private ClassInfo classInfo()

document

private Document document()

classInfoElement

private Element classInfoElement()

initResultHoldersFor

private void initResultHoldersFor(ClassInfo class_info)

clearResultHoldersIfNecessary

private void clearResultHoldersIfNecessary()

classPartOf

private String classPartOf(String fully_qualified_class_name)
Return just the class name part of the fully qualified class name.

Parameters:
fully_qualified_class_name - a fully qualified class name
Returns:
a non-null String

packagePartOf

private String packagePartOf(String fully_qualified_class_name)
Return just the package part of the fully qualified class name.

Parameters:
fully_qualified_class_name - a fully qualified class name
Returns:
a non-null, possibly-empty (e.g. default package) String

createValueElement

private void createValueElement(Element parent_element,
                                String attribute_name,
                                Object value)
Create an element for property descriptor value with the given name and value. Appends the element to the provided parent element.

Parameters:
parent_element - the element to append the value element to as a child
attribute_name - the property value name/key
value - the property value; will be converted to a string via toString()

setAttribute

private void setAttribute(Element elem,
                          String attribute_name,
                          String value)
Set the attribute with the provided name and value on the specified element. Values of null or "null" will result in no attribute being set.


setAttribute

private void setAttribute(Element elem,
                          String attribute_name,
                          String value,
                          String[] to_exclude)
Set the attribute with the provided name and value on the specified element excluding certain values Values of null or "null" OR any of the values provided in the string array will result in no attribute being set.


process

public final void process()
                   throws WTIntrospectionException
Process the class, producing a report if necessary.

Specified by:
process in class XmlIiGenerator
Throws:
WTIntrospectionException

lookupClassInfoFor

private ClassInfo lookupClassInfoFor(String full_class_name)
                              throws WTIntrospectionException,
                                     IOException
Parameters:
full_class_name - a fully-qualified Java class name
Returns:
may return a null class info if none can be instantiated
Throws:
WTIntrospectionException - if a non-ignorable error crops up and we are not in ignore mode
IOException

printReportIfNecessary

private void printReportIfNecessary()

exerciseClassInfo

private void exerciseClassInfo()
                        throws WTIntrospectionException
Exercise the methods of the ClassInfo class.

Throws:
WTIntrospectionException

exerciseRoleInfos

private void exerciseRoleInfos(RoleDescriptor[] roles,
                               Element parent_element,
                               String role_side_name)
                        throws WTIntrospectionException
Exercise an array of RoleDescriptors.

Parameters:
roles - an array of role descriptors to exercise
parent_element - the parent element to append the role element to
role_side_name - the side of the roles relative to the bearer of the role
Throws:
WTIntrospectionException - if there is an error accesing any of the roles' link infos, valid class infos, or other sides

exerciseRoleInfo

private void exerciseRoleInfo(RoleDescriptor role,
                              Element parent_element,
                              String role_side_name)
                       throws WTIntrospectionException
Exercise the methods of the RoleDescriptor.

Parameters:
role - role descriptor to exercise
parent_element - the parent element to append the role element to
role_side_name - the side of the role relative to the bearer of the role
Throws:
WTIntrospectionException - if there is an error accesing the role's link info, valid class info, or other side

exerciseAttributeInfo

private void exerciseAttributeInfo(AttributeDescriptor[] attrs)
Exercise the methods of the AttributeDescriptors.

Parameters:
attrs - is array of descriptors to exercise

exercisePropertyInfos

private void exercisePropertyInfos(PropertyDescriptor[] properties,
                                   Element parent_element)
                            throws WTIntrospectionException
Exercise the methods of the PropertyDescriptors.

Parameters:
properties - an array of descriptors to exercise
Throws:
WTIntrospectionException - if there is a problem accessing the database info to report the properties' columns

exercisePropertyInfo

private void exercisePropertyInfo(PropertyDescriptor property,
                                  Element parent_element)
                           throws WTIntrospectionException
Exercise the methods of the PropertyDescriptor.

Parameters:
property - a descriptor to exercise
Throws:
WTIntrospectionException - if there is a problem accessing the database info to report the property's columns

exerciseDatabaseInfo

private void exerciseDatabaseInfo(DatabaseInfo dbInfo)
                           throws WTIntrospectionException
Exercise the methods of the ClassInfo class.

Throws:
WTIntrospectionException

exerciseColumnInfos

private void exerciseColumnInfos(ColumnDescriptor[] attrs,
                                 Element parent_element,
                                 boolean in_view)
Exercise the methods of the ColumnDescriptors.

Parameters:
attrs - an array of descriptors to exercise
parent_element - the parent element to append the column descriptor elements to

exerciseColumnInfo

private void exerciseColumnInfo(ColumnDescriptor attr,
                                Element parent_element,
                                boolean in_view)
Exercise the methods of the ColumnDescriptor.

Parameters:
attr - the descriptor to exercise
parent_element - the parent element to append the column descriptor element to

exerciseLinkInfo

private void exerciseLinkInfo()
                       throws WTIntrospectionException
Exercise the methods of the LinkInfo class.

Throws:
WTIntrospectionException

exerciseCriterion

private void exerciseCriterion(CriteriaDescriptor criterion,
                               int number,
                               Element parent_element)
Exercise the methods of the CriteriaDescriptor.


exerciseCriteria

private void exerciseCriteria(CriteriaDescriptor[] criteria,
                              Element parent_element)
Exercise the methods of the CriteriaDescriptors.

Parameters:
criteria - is array of descriptors to exercise

reportErrorOrThrow

private void reportErrorOrThrow(Throwable t,
                                String context_description)
                         throws WTIntrospectionException
If not in ignore mode, then re-throw the Throwable. Otherwise, report the message to the user.

Parameters:
t - the Throwable
context_description - a description of the context in which the error occurred
Throws:
WTIntrospectionException - if not in ignore mode; the Throwable will be wrapped inside this type of exception if necessary

reportErrorOrThrow

private void reportErrorOrThrow(Throwable t,
                                String context_description,
                                Element parent_element)
                         throws WTIntrospectionException
If not in ignore mode, then re-throw the Throwable. Otherwise, report the message to the user and include the error's stack trace in the report document as the next child element of the provided parent DOM element.

Parameters:
t - the Throwable
context_description - a description of the context in which the error occurred
parent_element - the parent DOM element to add the error message element to
Throws:
WTIntrospectionException - if not in ignore mode; the Throwable will be wrapped inside this type of exception if necessary