org.jfree.xml.factory.objects

## Interface ClassFactory

All Superinterfaces:
  java.io.Serializable

All Known Implementing Classes:
  ArrayClassFactory, ClassFactoryCollector, ClassFactoryImpl, JavaBaseClassFactory, URLClassFactory

    public interface ClassFactory
    extends java.io.Serializable

A class factory.

Author:
  Thomas Morgner

### Method Summary

Methods
`void` `configure(Configuration config)` Configures this factory.
`boolean` `equals(java.lang.Object o)` Compares whether two object factories are equal.
`ObjectDescription` `getDescriptionForClass(java.lang.Class c)` Returns an object description for a class.
`java.util.Iterator` `getRegisteredClasses()` Returns an iterator for the registered classes.
`ObjectDescription` `getSuperClassObjectDescription(java.lang.Class d, ObjectDescription knownSuperClass)` Returns an object description for the super class of a class.
`int` `hashCode()` Computes the hashCode for this ClassFactory.

### Method Detail

#### getDescriptionForClass

    ObjectDescription getDescriptionForClass(java.lang.Class c)

Returns an object description for a class.

Parameters:
  `c` - the class.
Returns:
  The object description.

#### getSuperClassObjectDescription

    ObjectDescription getSuperClassObjectDescription(java.lang.Class d,
                                                   ObjectDescription knownSuperClass)

Returns an object description for the super class of a class.

Parameters:
  `d` - the class.
  `knownSuperClass` - the last known super class or null.
Returns:
  The object description.

#### getRegisteredClasses

    java.util.Iterator getRegisteredClasses()

Returns an iterator for the registered classes. This returns a list of pre-registered classes known to this ClassFactory. A class may be able to handle more than the registered classes.

This method exists to support query tools for UI design, do not rely on it for day to day work.

Returns:
  The iterator.

#### configure

    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.

Parameters:
  `config` - the configuration, never null

#### equals

    boolean equals(java.lang.Object o)

Compares whether two object factories are equal. This method must be implemented!

Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `o` - the other object.
Returns:
  true, if both object factories describe the same objects, false otherwise.

#### hashCode

    int hashCode()

Computes the hashCode for this ClassFactory. As equals() must be implemented, a corresponding hashCode() should be implemented as well.

Overrides:
  `hashCode` in class `java.lang.Object`
Returns:
  the hashcode.