# 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 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