org.apache.cocoon.components.elementprocessor.impl
Class AbstractElementProcessorFactory
java.lang.Object
|
+--org.apache.avalon.framework.logger.AbstractLoggable
|
+--org.apache.cocoon.components.elementprocessor.impl.AbstractElementProcessorFactory
- All Implemented Interfaces:
- org.apache.avalon.framework.component.Component, ElementProcessorFactory, org.apache.avalon.framework.logger.Loggable
- Direct Known Subclasses:
- HSSFElementProcessorFactory
- public abstract class AbstractElementProcessorFactory
- extends org.apache.avalon.framework.logger.AbstractLoggable
- implements ElementProcessorFactory, org.apache.avalon.framework.component.Component
Create instances of specific ElementProcessor implementations to
handle specific XML elements and their content.
- Author:
- Marc Johnson (marc_johnson27591@hotmail.com)
Method Summary |
protected void |
addElementProcessorProgenitor(java.lang.String name,
java.lang.Object progenitor)
A method for extending classes to populate the map. |
protected ElementProcessor |
constructElementProcessor(java.lang.reflect.Constructor progenitor)
A reference implementation of doCreateElementProcessor that can
be used by an extending class whose progenitors are Constructor
objects that can create new instances of ElementProcessor
implementations. |
ElementProcessor |
createElementProcessor(java.lang.String name)
Given an XML element name, create and return an appropriate
ElementProcessor. |
protected ElementProcessor |
createNewElementProcessorInstance(java.lang.Class progenitor)
A reference implementation of doCreateElementProcessor that can
be used by an extending class whose progenitors are Class
objects for ElementProcessor implementations. |
protected abstract ElementProcessor |
doCreateElementProcessor(java.lang.Object progenitor)
The method that a concrete extension of AbstractElementProcessorFactory
must implement. |
protected java.lang.Object |
lookupElementProcessorProgenitor(java.lang.String name)
A method to get the progenitor value associated with a
specified element name. |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLoggable |
getLogger, setLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractElementProcessorFactory
protected AbstractElementProcessorFactory()
- Protected default constructor
createElementProcessor
public ElementProcessor createElementProcessor(java.lang.String name)
throws CannotCreateElementProcessorException
- Given an XML element name, create and return an appropriate
ElementProcessor.
- Specified by:
createElementProcessor
in interface ElementProcessorFactory
- Parameters:
name
- element name- Returns:
- the specified ElementProcessor
- Throws:
CannotCreateElementProcessorException
- if there is no
ElementProcessor available for the specified name
addElementProcessorProgenitor
protected void addElementProcessorProgenitor(java.lang.String name,
java.lang.Object progenitor)
- A method for extending classes to populate the map.
- Parameters:
name
- the element name for this progenitor; cannot be
null ot emptyprogenitor
- an object that can be used to generate an
appropriate ElementProcessor; cannot be nukk- Throws:
java.lang.IllegalArgumentException
- if name is already in the
map or progenitor is null.
lookupElementProcessorProgenitor
protected java.lang.Object lookupElementProcessorProgenitor(java.lang.String name)
- A method to get the progenitor value associated with a
specified element name.
- Parameters:
name
- the element name- Returns:
- the associated ElementProcessor progenitor; will be
null if the element name has not yet been associated
with a progenitor.
doCreateElementProcessor
protected abstract ElementProcessor doCreateElementProcessor(java.lang.Object progenitor)
throws CannotCreateElementProcessorException
- The method that a concrete extension of AbstractElementProcessorFactory
must implement. When this method is called, the element name
has already been looked up in the map and a progenitor Object
has been acquired. The progenitor is guaranteed not to be null.
- Parameters:
progenitor
- the object from which to create an
ElementProcessor- Returns:
- freshly created ElementProcessor
- Throws:
CannotCreateElementProcessorException
- if the
specified ElementProcessor cannot be created.
createNewElementProcessorInstance
protected ElementProcessor createNewElementProcessorInstance(java.lang.Class progenitor)
throws CannotCreateElementProcessorException
- A reference implementation of doCreateElementProcessor that can
be used by an extending class whose progenitors are Class
objects for ElementProcessor implementations.
- Parameters:
progenitor
- a Class representing an ElementProcessor- Returns:
- the new ElementProcessor instance
- Throws:
CannotCreateElementProcessorException
- if the
ElementProcessor cannot be created.
constructElementProcessor
protected ElementProcessor constructElementProcessor(java.lang.reflect.Constructor progenitor)
throws CannotCreateElementProcessorException
- A reference implementation of doCreateElementProcessor that can
be used by an extending class whose progenitors are Constructor
objects that can create new instances of ElementProcessor
implementations.
- Parameters:
progenitor
- a Constructor of an ElementProcessor- Returns:
- the newly created ElementProcessor
- Throws:
CannotCreateElementProcessorException
- if the
ElementProcessor cannot be created.
Copyright © 1999-2002 Apache Software Foundation. All Rights Reserved.