org.jfree.xml.util

## Class GenericObjectFactory

- java.lang.Object
- - 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

Constructors
Constructor and Description
`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

Methods
`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.