org.jfree.xml.factory.objects

## Class AbstractObjectDescription

- java.lang.Object
- - org.jfree.xml.factory.objects.AbstractObjectDescription

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, ObjectDescription

Direct Known Subclasses:
  ArrayObjectDescription, BasicStrokeObjectDescription, BeanObjectDescription, BooleanObjectDescription, ByteObjectDescription, CharacterObjectDescription, ClassLoaderObjectDescription, CollectionObjectDescription, ColorObjectDescription, DateObjectDescription, Dimension2DObjectDescription, DimensionObjectDescription, DoubleObjectDescription, FloatObjectDescription, IntegerObjectDescription, Line2DObjectDescription, LongObjectDescription, Point2DObjectDescription, Rectangle2DObjectDescription, ShortObjectDescription, StringObjectDescription, URLObjectDescription

    public abstract class AbstractObjectDescription
    extends java.lang.Object
    implements ObjectDescription, java.lang.Cloneable

An abstract base class for object descriptions.

Author:
  Thomas Morgner.
See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`AbstractObjectDescription(java.lang.Class className)` Creates a new object description.

### Method Summary

Methods
`void` `configure(Configuration config)` Configures this factory.
`static java.lang.Class` `convertPrimitiveClass(java.lang.Class obj)` Converts primitives to corresponding object class.
`boolean` `equals(java.lang.Object o)` Tests for equality.
`Configuration` `getConfig()` Returns the configuration for that object description.
`protected java.util.Iterator` `getDefinedParameterNames()` Returns an iterator for the parameter names.
`ObjectDescription` `getInstance()` Returns a cloned instance of the object description.
`java.lang.Class` `getObjectClass()` Returns the class for the object.
`java.lang.Object` `getParameter(java.lang.String name)` Returns a parameter value.
`java.lang.Class` `getParameterDefinition(java.lang.String name)` Returns a parameter class.
`java.util.Iterator` `getParameterNames()` Returns an iterator for the parameter names.
`ObjectDescription` `getUnconfiguredInstance()` Returns a cloned instance of the object description.
`int` `hashCode()` Returns a hash code for the object.
`void` `setParameter(java.lang.String name, java.lang.Object value)` Sets a parameter.
`void` `setParameterDefinition(java.lang.String name, java.lang.Class obj)` Sets the class for a parameter.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.jfree.xml.factory.objects.ObjectDescription

`createObject, setParameterFromObject`

### Constructor Detail

#### AbstractObjectDescription

    public AbstractObjectDescription(java.lang.Class className)

Creates a new object description.

Parameters:
  `className` - the class.

### Method Detail

#### getParameterDefinition

    public java.lang.Class getParameterDefinition(java.lang.String name)

Returns a parameter class.

Specified by:
  `getParameterDefinition` in interface `ObjectDescription`
Parameters:
  `name` - the parameter definition.
Returns:
  The class.

#### setParameterDefinition

    public void setParameterDefinition(java.lang.String name,
                              java.lang.Class obj)

Sets the class for a parameter.

Parameters:
  `name` - the parameter name.
  `obj` - the parameter class.

#### convertPrimitiveClass

    public static java.lang.Class convertPrimitiveClass(java.lang.Class obj)

Converts primitives to corresponding object class.

Parameters:
  `obj` - the class.
Returns:
  The class.

#### setParameter

    public void setParameter(java.lang.String name,
                    java.lang.Object value)

Sets a parameter.

Specified by:
  `setParameter` in interface `ObjectDescription`
Parameters:
  `name` - the name.
  `value` - the value.

#### getParameterNames

    public java.util.Iterator getParameterNames()

Returns an iterator for the parameter names.

Specified by:
  `getParameterNames` in interface `ObjectDescription`
Returns:
  The iterator.

#### getDefinedParameterNames

    protected java.util.Iterator getDefinedParameterNames()

Returns an iterator for the parameter names.

Returns:
  The iterator.

#### getParameter

    public java.lang.Object getParameter(java.lang.String name)

Returns a parameter value.

Specified by:
  `getParameter` in interface `ObjectDescription`
Parameters:
  `name` - the parameter name.
Returns:
  The parameter value.

#### getObjectClass

    public java.lang.Class getObjectClass()

Returns the class for the object.

Specified by:
  `getObjectClass` in interface `ObjectDescription`
Returns:
  The class.

#### getInstance

    public ObjectDescription getInstance()

Returns a cloned instance of the object description. The contents of the parameter objects collection are cloned too, so that any already defined parameter value is copied to the new instance.

Parameter definitions are not cloned, as they are considered read-only.

The newly instantiated object description is not configured. If it need to be configured, then you have to call configure on it.

Specified by:
  `getInstance` in interface `ObjectDescription`
Returns:
  A cloned instance.

#### getUnconfiguredInstance

    public ObjectDescription getUnconfiguredInstance()

Returns a cloned instance of the object description. The contents of the parameter objects collection are cloned too, so that any already defined parameter value is copied to the new instance.

Parameter definitions are not cloned, as they are considered read-only.

The newly instantiated object description is not configured. If it need to be configured, then you have to call configure on it.

Specified by:
  `getUnconfiguredInstance` in interface `ObjectDescription`
Returns:
  A cloned instance.

#### configure

    public void configure(Configuration config)

Configures this factory. The configuration contains several keys and their defined values. The given reference to the configuration object will remain valid until the report parsing or writing ends.

The configuration contents may change during the reporting.

Specified by:
  `configure` in interface `ObjectDescription`
Parameters:
  `config` - the configuration, never null

#### getConfig

    public Configuration getConfig()

Returns the configuration for that object description.

Returns:
  the configuration or null, if not yet set.

#### equals

    public boolean equals(java.lang.Object o)

Tests for equality.

Specified by:
  `equals` in interface `ObjectDescription`
Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `o` - the object to test.
Returns:
  A boolean.

#### hashCode

    public int hashCode()

Returns a hash code for the object.

Specified by:
  `hashCode` in interface `ObjectDescription`
Overrides:
  `hashCode` in class `java.lang.Object`
Returns:
  The hash code.