org.jfree.xml.util

Class GenericObjectFactory

public final class GenericObjectFactory extends Object

The generic object factory contains all methods necessary to collect the property values needed to produce a fully instantiated object.
Constructor Summary
GenericObjectFactory(Class c, String registerName, ConstructorDefinition[] constructors, PropertyDefinition[] propertyDefinitions, LookupDefinition[] lookupDefinitions, AttributeDefinition[] attributeDefinitions, String[] orderedPropertyNames)
Creates a new generic object factory.
Method Summary
ObjectcreateObject()
Creates an object according to the definition.
AttributeDefinition[]getAttributeDefinitions()
Returns the attribute definitions.
ClassgetBaseClass()
Returns the base class.
ConstructorDefinition[]getConstructorDefinitions()
Returns the constructor definitions.
GenericObjectFactorygetInstance()
Returns a copy of this instance.
LookupDefinition[]getLookupDefinitions()
Returns the lookup definitions.
String[]getOrderedPropertyNames()
Returns the property names.
ObjectgetProperty(String name)
Returns the value of the specified property.
PropertyDefinitiongetPropertyDefinitionByPropertyName(String propertyName)
Returns the property definition for the specified property name.
PropertyDefinitiongetPropertyDefinitionByTagName(String tagName)
Returns a property definition for the specified tag name.
PropertyDefinition[]getPropertyDefinitions()
Returns the property definitions.
StringgetRegisterName()
Returns the register name.
ClassgetTypeForTagName(String tagName)
Returns the class for a tag name.
booleanisPropertyDefinition(String propertyName)
Returns true if there is a property definition for the specified property name.
voidreadProperties(Object object)
Reads the properties.
voidsetProperty(String propertyName, Object value)
Sets a property value.
voidwriteObjectProperties(Object object)
Writes the properties for the object.

Constructor Detail

GenericObjectFactory

public GenericObjectFactory(Class c, String registerName, ConstructorDefinition[] constructors, PropertyDefinition[] propertyDefinitions, LookupDefinition[] lookupDefinitions, AttributeDefinition[] attributeDefinitions, String[] orderedPropertyNames)
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

createObject

public Object createObject()
Creates an object according to the definition.

Returns: the object.

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

getAttributeDefinitions

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

Returns: the attribute definitions.

getBaseClass

public Class getBaseClass()
Returns the base class.

Returns: the base class.

getConstructorDefinitions

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

Returns: the constructor definitions.

getInstance

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

Returns: a copy of this instance.

getLookupDefinitions

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

Returns: the lookup definitions.

getOrderedPropertyNames

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

Returns: the property names.

getProperty

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

Parameters: name the property name.

Returns: the property value.

getPropertyDefinitionByPropertyName

public PropertyDefinition getPropertyDefinitionByPropertyName(String propertyName)
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(String tagName)
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.

getPropertyDefinitions

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

Returns: the property definitions.

getRegisterName

public String getRegisterName()
Returns the register name.

Returns: the register name.

getTypeForTagName

public Class getTypeForTagName(String tagName)
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(String propertyName)
Returns true if there is a property definition for the specified property name.

Parameters: propertyName the property name.

Returns: A boolean.

readProperties

public void readProperties(Object object)
Reads the properties.

Parameters: object the object.

Throws: ObjectDescriptionException if there is a problem.

setProperty

public void setProperty(String propertyName, Object value)
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(Object object)
Writes the properties for the object.

Parameters: object the object.

Throws: ObjectDescriptionException if there is a problem.