Class GenericObjectFactory

java.lang.Object
org.jfree.xml.util.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.
  • Field Details

    • constructorDefinitions

      private final ConstructorDefinition[] constructorDefinitions
      Storage for the constructor definitions.
    • propertyDefinitions

      private final PropertyDefinition[] propertyDefinitions
      Storage for the property definitions.
    • lookupDefinitions

      private final LookupDefinition[] lookupDefinitions
      Storage for the lookup definitions.
    • attributeDefinitions

      private final AttributeDefinition[] attributeDefinitions
      Storage for the attribute definitions.
    • orderedPropertyNames

      private final String[] orderedPropertyNames
      The ordered property names.
    • propertyInfos

      private final HashMap propertyInfos
      Storage for property info.
    • propertyValues

      private final HashMap propertyValues
      Storage for property values.
    • baseClass

      private final Class baseClass
      The base class.
    • registerName

      private final String registerName
      The register name.
  • Constructor Details

    • GenericObjectFactory

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

      private GenericObjectFactory(GenericObjectFactory factory)
      A copy constructor.
      Parameters:
      factory - the factory to copy.
  • Method Details

    • getInstance

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

      public String getRegisterName()
      Returns the register name.
      Returns:
      the register name.
    • getPropertyDescriptor

      private PropertyDescriptor getPropertyDescriptor(String propertyName)
      Returns a property descriptor.
      Parameters:
      propertyName - the property name.
      Returns:
      a property descriptor.
    • getTypeForTagName

      public Class getTypeForTagName(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(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(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(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 String[] getOrderedPropertyNames()
      Returns the property names.
      Returns:
      the property names.
    • getLookupDefinitions

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

      public Object getProperty(String name)
      Returns the value of the specified property.
      Parameters:
      name - the property name.
      Returns:
      the property value.
    • createObject

      public 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(String propertyName, 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.
    • isAssignableOrPrimitive

      private boolean isAssignableOrPrimitive(Class baseType, Class valueType)
      Returns true if the base type is a primitive or assignable from the value type.
      Parameters:
      baseType - the base class.
      valueType - the value class.
      Returns:
      A boolean.
    • isConstructorProperty

      private boolean isConstructorProperty(String propertyName)
      Returns true if the specified property is...
      Parameters:
      propertyName - the property name.
      Returns:
      A boolean.
    • writeObjectProperties

      public void writeObjectProperties(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(Object object) throws ObjectDescriptionException
      Reads the properties.
      Parameters:
      object - the object.
      Throws:
      ObjectDescriptionException - if there is a problem.
    • getBaseClass

      public Class getBaseClass()
      Returns the base class.
      Returns:
      the base class.