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
    Modifier and Type | Method and Description
    --- | ---
    `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.