# Class AbstractObjectCreationFactory

java.lang.Object
org.apache.tomcat.util.digester.AbstractObjectCreationFactory

All Implemented Interfaces:
  `ObjectCreationFactory`

public abstract class AbstractObjectCreationFactory extends Object implements ObjectCreationFactory

Abstract base class for `ObjectCreationFactory` implementations.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractObjectCreationFactory()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract Object`
  `createObject(Attributes attributes)`
  Factory method called by `FactoryCreateRule` to supply an object based on the element's attributes.
  `Digester`
  `getDigester()`
  Returns the `Digester` that was set by the `FactoryCreateRule` upon initialization.
  `void`
  `setDigester(Digester digester)`
  Set the `Digester` to allow the implementation to do logging, classloading based on the digester's classloader, etc.

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

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

- ## Constructor Details

  - ### AbstractObjectCreationFactory

    public AbstractObjectCreationFactory()

- ## Method Details

  - ### createObject

    public abstract Object createObject(Attributes attributes) throws Exception

    Factory method called by `FactoryCreateRule` to supply an object based on the element's attributes.

    Specified by:
      `createObject` in interface `ObjectCreationFactory`
    Parameters:
      `attributes` - the element's attributes
    Returns:
      the created object
    Throws:
      `Exception` - any exception thrown will be propagated upwards

  - ### getDigester

    public Digester getDigester()

    Returns the `Digester` that was set by the `FactoryCreateRule` upon initialization.

    Specified by:
      `getDigester` in interface `ObjectCreationFactory`
    Returns:
      the `Digester` that was set by the `FactoryCreateRule` upon initialization.

  - ### setDigester

    public void setDigester(Digester digester)

    Set the `Digester` to allow the implementation to do logging, classloading based on the digester's classloader, etc.

    Specified by:
      `setDigester` in interface `ObjectCreationFactory`
    Parameters:
      `digester` - parent Digester object