org.jfree.xml.util
Class GenericObjectFactory

java.lang.Object
  extended by org.jfree.xml.util.GenericObjectFactory

public final class GenericObjectFactory
extends java.lang.Object

The generic object factory contains all methods necessary to collect the property values needed to produce a fully instantiated object.


Constructor Summary
GenericObjectFactory(java.lang.Class c, java.lang.String registerName, ConstructorDefinition[] constructors, PropertyDefinition[] propertyDefinitions, LookupDefinition[] lookupDefinitions, AttributeDefinition[] attributeDefinitions, java.lang.String[] orderedPropertyNames)
          Creates a new generic object factory.
 
Method Summary
 java.lang.Object createObject()
          Creates an object according to the definition.
 AttributeDefinition[] getAttributeDefinitions()
          Returns the attribute definitions.
 java.lang.Class getBaseClass()
          Returns the base class.
 ConstructorDefinition[] getConstructorDefinitions()
          Returns the constructor definitions.
 GenericObjectFactory getInstance()
          Returns a copy of this instance.
 LookupDefinition[] getLookupDefinitions()
          Returns the lookup definitions.
 java.lang.String[] getOrderedPropertyNames()
          Returns the property names.
 java.lang.Object getProperty(java.lang.String name)
          Returns the value of the specified property.
 PropertyDefinition getPropertyDefinitionByPropertyName(java.lang.String propertyName)
          Returns the property definition for the specified property name.
 PropertyDefinition getPropertyDefinitionByTagName(java.lang.String tagName)
          Returns a property definition for the specified tag name.
 PropertyDefinition[] getPropertyDefinitions()
          Returns the property definitions.
 java.lang.String getRegisterName()
          Returns the register name.
 java.lang.Class getTypeForTagName(java.lang.String tagName)
          Returns the class for a tag name.
 boolean isPropertyDefinition(java.lang.String propertyName)
          Returns true if there is a property definition for the specified property name.
 void readProperties(java.lang.Object object)
          Reads the properties.
 void setProperty(java.lang.String propertyName, java.lang.Object value)
          Sets a property value.
 void writeObjectProperties(java.lang.Object object)
          Writes the properties for the object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenericObjectFactory

public GenericObjectFactory(java.lang.Class c,
                            java.lang.String registerName,
                            ConstructorDefinition[] constructors,
                            PropertyDefinition[] propertyDefinitions,
                            LookupDefinition[] lookupDefinitions,
                            AttributeDefinition[] attributeDefinitions,
                            java.lang.String[] orderedPropertyNames)
                     throws ObjectDescriptionException
Creates a new generic object factory.

Parameters:
c - the class.
registerName - the (optional) name under which to register the class for any later lookup.
constructors - the constructor definitions.
propertyDefinitions - the property definitions.
lookupDefinitions - the lookup definitions.
attributeDefinitions - the attribute definitions.
orderedPropertyNames - the ordered property names.
Throws:
ObjectDescriptionException - if there is a problem.
Method Detail

getInstance

public GenericObjectFactory getInstance()
Returns a copy of this instance.

Returns:
a copy of this instance.

getRegisterName

public java.lang.String getRegisterName()
Returns the register name.

Returns:
the register name.

getTypeForTagName

public java.lang.Class getTypeForTagName(java.lang.String tagName)
                                  throws ObjectDescriptionException
Returns the class for a tag name.

Parameters:
tagName - the tag name.
Returns:
the class.
Throws:
ObjectDescriptionException - if there is a problem.

isPropertyDefinition

public boolean isPropertyDefinition(java.lang.String propertyName)
Returns true if there is a property definition for the specified property name.

Parameters:
propertyName - the property name.
Returns:
A boolean.

getPropertyDefinitionByPropertyName

public PropertyDefinition getPropertyDefinitionByPropertyName(java.lang.String propertyName)
                                                       throws ObjectDescriptionException
Returns the property definition for the specified property name.

Parameters:
propertyName - the property name.
Returns:
the property definition.
Throws:
ObjectDescriptionException - if there is no such property for this object.

getPropertyDefinitionByTagName

public PropertyDefinition getPropertyDefinitionByTagName(java.lang.String tagName)
                                                  throws ObjectDescriptionException
Returns a property definition for the specified tag name.

Parameters:
tagName - the tag name.
Returns:
the property definition.
Throws:
ObjectDescriptionException - if there is no such tag defined for this object.

getConstructorDefinitions

public ConstructorDefinition[] getConstructorDefinitions()
Returns the constructor definitions.

Returns:
the constructor definitions.

getAttributeDefinitions

public AttributeDefinition[] getAttributeDefinitions()
Returns the attribute definitions.

Returns:
the attribute definitions.

getPropertyDefinitions

public PropertyDefinition[] getPropertyDefinitions()
Returns the property definitions.

Returns:
the property definitions.

getOrderedPropertyNames

public java.lang.String[] getOrderedPropertyNames()
Returns the property names.

Returns:
the property names.

getLookupDefinitions

public LookupDefinition[] getLookupDefinitions()
Returns the lookup definitions.

Returns:
the lookup definitions.

getProperty

public java.lang.Object getProperty(java.lang.String name)
Returns the value of the specified property.

Parameters:
name - the property name.
Returns:
the property value.

createObject

public java.lang.Object createObject()
                              throws ObjectDescriptionException
Creates an object according to the definition.

Returns:
the object.
Throws:
ObjectDescriptionException - if there is a problem with the object description.

setProperty

public void setProperty(java.lang.String propertyName,
                        java.lang.Object value)
                 throws ObjectDescriptionException
Sets a property value.

Parameters:
propertyName - the property name.
value - the property value.
Throws:
ObjectDescriptionException - if there is a problem with the object description.

writeObjectProperties

public void writeObjectProperties(java.lang.Object object)
                           throws ObjectDescriptionException
Writes the properties for the object.

Parameters:
object - the object.
Throws:
ObjectDescriptionException - if there is a problem.

readProperties

public void readProperties(java.lang.Object object)
                    throws ObjectDescriptionException
Reads the properties.

Parameters:
object - the object.
Throws:
ObjectDescriptionException - if there is a problem.

getBaseClass

public java.lang.Class getBaseClass()
Returns the base class.

Returns:
the base class.