fr.gouv.culture.sdx.pipeline
Class AbstractPipeline

java.lang.Object
  extended by org.apache.avalon.framework.logger.AbstractLogEnabled
      extended by org.apache.cocoon.xml.AbstractXMLProducer
          extended by org.apache.cocoon.xml.AbstractXMLPipe
              extended by fr.gouv.culture.sdx.utils.xml.AbstractSdxXMLPipe
                  extended by fr.gouv.culture.sdx.pipeline.AbstractPipeline
All Implemented Interfaces:
Pipeline, Describable, Encodable, Identifiable, Localizable, SdxObject, org.apache.avalon.excalibur.pool.Poolable, org.apache.avalon.excalibur.pool.Recyclable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.context.Contextualizable, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.service.Serviceable, org.apache.cocoon.xml.XMLPipe, org.apache.cocoon.xml.XMLProducer, org.apache.excalibur.xml.sax.XMLConsumer, org.apache.excalibur.xml.sax.XMLizable, org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler
Direct Known Subclasses:
GenericPipeline

public abstract class AbstractPipeline
extends AbstractSdxXMLPipe
implements Pipeline

An abstract implementation of a Pipeline for manipulation of SAX events


Nested Class Summary
 
Nested classes/interfaces inherited from interface fr.gouv.culture.sdx.utils.SdxObject
SdxObject.ConfigurationNode
 
Field Summary
protected  java.lang.String keepStep
           
protected  java.util.LinkedList transformations
          A list of the transformations that make up this pipeline.
protected  java.util.Vector transformsList
          A list of the transformations that make up this pipeline.
 
Fields inherited from class fr.gouv.culture.sdx.utils.xml.AbstractSdxXMLPipe
_configuration, _context, _description, _encoding, _id, _locale, _logger, _manager, _xmlizable_objects, _xmlLang, isToSaxInitialized
 
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer
 
Fields inherited from interface fr.gouv.culture.sdx.pipeline.Pipeline
CLASS_NAME_SUFFIX, PACKAGE_QUALNAME
 
Fields inherited from interface fr.gouv.culture.sdx.utils.Encodable
DEFAULT_ENCODING
 
Constructor Summary
AbstractPipeline()
           
 
Method Summary
 void addTransformation(Transformation t)
          Adds a transformation to the pipeline and sets the consumer of the last transformation to be the newly added transformation.
 void configure(org.apache.avalon.framework.configuration.Configuration configuration)
          Configures the pipeline.
protected  java.lang.String getClassNameSuffix()
          Sub classes should element this method to return their class name suffix for SAX output
 org.apache.avalon.framework.parameters.Parameters getParameters()
          Returns the paramters for this pipeline
 byte[] getTransformedBytes()
          Returns a byte array which contains the data of a transformation step.
 java.io.File getTransformedFile()
          Returns a file which contains the data of a transformation step.
protected  boolean initToSax()
          Init the DefaultContext class _xmlizable_objects with the objects in order to describ them in XML
protected  void initVolatileObjectsToSax()
          Init the LinkedHashMap _xmlizable_volatile_objects with the objects in order to describ them in XML Some objects need to be refresh each time a toSAX is called
 Pipeline newInstance()
          Returns a new instance of this object
 void setConsumer(org.apache.cocoon.xml.XMLConsumer xmlConsumer)
          Sets the consumer of the pipeline.
 void setParameters(org.apache.avalon.framework.parameters.Parameters params)
          Sets the Parameters for each step in the Pipeline
protected  void setParametersToTransformations(org.apache.avalon.framework.parameters.Parameters parameters)
           
protected  void verifyConfigurationParameters(org.apache.avalon.framework.parameters.Parameters params)
           
 
Methods inherited from class fr.gouv.culture.sdx.utils.xml.AbstractSdxXMLPipe
configureDescription, contextualize, enableLogging, getBaseAttributes, getConfiguration, getContext, getDescription, getEncoding, getId, getLocale, getLog, getServiceManager, getXmlLang, service, setDescription, setEncoding, setId, setLocale, setUpSdxObject, setUpSdxObject, setXmlLang, toSAX, verifyConfigurationResources
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLPipe
characters, comment, endCDATA, endDocument, endDTD, endElement, endEntity, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startCDATA, startDocument, startDTD, startElement, startEntity, startPrefixMapping
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
recycle, setContentHandler, setLexicalHandler
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.xml.sax.ContentHandler
characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping
 
Methods inherited from interface org.xml.sax.ext.LexicalHandler
comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity
 
Methods inherited from interface fr.gouv.culture.sdx.utils.SdxObject
getLog
 
Methods inherited from interface org.apache.avalon.framework.logger.LogEnabled
enableLogging
 
Methods inherited from interface org.apache.avalon.framework.context.Contextualizable
contextualize
 
Methods inherited from interface org.apache.avalon.framework.service.Serviceable
service
 
Methods inherited from interface fr.gouv.culture.sdx.utils.Identifiable
getId, setId
 
Methods inherited from interface fr.gouv.culture.sdx.utils.Describable
getDescription, setDescription
 
Methods inherited from interface fr.gouv.culture.sdx.utils.Encodable
getEncoding, setEncoding
 
Methods inherited from interface fr.gouv.culture.sdx.utils.Localizable
getLocale, getXmlLang, setLocale, setXmlLang
 
Methods inherited from interface org.apache.excalibur.xml.sax.XMLizable
toSAX
 

Field Detail

transformations

protected java.util.LinkedList transformations
A list of the transformations that make up this pipeline.


transformsList

protected java.util.Vector transformsList
A list of the transformations that make up this pipeline.


keepStep

protected java.lang.String keepStep
Constructor Detail

AbstractPipeline

public AbstractPipeline()
Method Detail

configure

public void configure(org.apache.avalon.framework.configuration.Configuration configuration)
               throws org.apache.avalon.framework.configuration.ConfigurationException
Configures the pipeline.

Specified by:
configure in interface org.apache.avalon.framework.configuration.Configurable
Overrides:
configure in class AbstractSdxXMLPipe
Parameters:
configuration - The configuration object provided from a document base object.

Retrieves the children elements named "transformation" and builds a transformation object for each element. Currently the only supported transformation type is "xslt".

Sample configuration snippet:

<sdx:pipeline sdx:id = "sdxIndexationPipeline">

<sdx:transformation src = "path to stylesheet, can be absolute or relative to the directory containing this file" sdx:id = "step2" sdx:type = "xslt"/>

<sdx:transformation src = "path to stylesheet, can be absolute or relative to the directory containing this file" sdx:id = "step3" sdx:type = "xslt" keep = "true"/>

</sdx:pipeline>

Throws:
org.apache.avalon.framework.configuration.ConfigurationException

verifyConfigurationParameters

protected void verifyConfigurationParameters(org.apache.avalon.framework.parameters.Parameters params)

addTransformation

public void addTransformation(Transformation t)
                       throws SDXException
Adds a transformation to the pipeline and sets the consumer of the last transformation to be the newly added transformation.

Specified by:
addTransformation in interface Pipeline
Parameters:
t - The transformation to be added.
Throws:
SDXException

setConsumer

public void setConsumer(org.apache.cocoon.xml.XMLConsumer xmlConsumer)
Sets the consumer of the pipeline.

Specified by:
setConsumer in interface org.apache.cocoon.xml.XMLProducer
Overrides:
setConsumer in class org.apache.cocoon.xml.AbstractXMLProducer
Parameters:
xmlConsumer - The XMLConsumer for the LAST step of the pipeline

setParameters

public void setParameters(org.apache.avalon.framework.parameters.Parameters params)
Sets the Parameters for each step in the Pipeline

Specified by:
setParameters in interface Pipeline
Parameters:
params - The Parameters to use for each transformation step.

Each transformation step in the pipeline can call (getParameters() defined in the Transformation interface) and make use this Parameters object as needed before pipeline processing begins.


setParametersToTransformations

protected void setParametersToTransformations(org.apache.avalon.framework.parameters.Parameters parameters)

newInstance

public Pipeline newInstance()
                     throws SDXException
Returns a new instance of this object

Specified by:
newInstance in interface Pipeline
Returns:
A new instance of this object
Throws:
SDXException

getParameters

public org.apache.avalon.framework.parameters.Parameters getParameters()
Returns the paramters for this pipeline

Specified by:
getParameters in interface Pipeline

getTransformedBytes

public byte[] getTransformedBytes()
Returns a byte array which contains the data of a transformation step. The data will only be present after a pipeline is executed, if no transformation data is retained null will be returned

Specified by:
getTransformedBytes in interface Pipeline
Returns:

getTransformedFile

public java.io.File getTransformedFile()
                                throws SDXException
Returns a file which contains the data of a transformation step. The data will only be present after a pipeline is executed, if no transformation data is retained null will be returned

Specified by:
getTransformedFile in interface Pipeline
Throws:
SDXException

getClassNameSuffix

protected java.lang.String getClassNameSuffix()
Description copied from class: AbstractSdxXMLPipe
Sub classes should element this method to return their class name suffix for SAX output

Specified by:
getClassNameSuffix in class AbstractSdxXMLPipe

initToSax

protected boolean initToSax()
Description copied from class: AbstractSdxXMLPipe
Init the DefaultContext class _xmlizable_objects with the objects in order to describ them in XML

Specified by:
initToSax in class AbstractSdxXMLPipe

initVolatileObjectsToSax

protected void initVolatileObjectsToSax()
Init the LinkedHashMap _xmlizable_volatile_objects with the objects in order to describ them in XML Some objects need to be refresh each time a toSAX is called

Specified by:
initVolatileObjectsToSax in class AbstractSdxXMLPipe


Copyright © 2000-2010 Ministere de la culture et de la communication / AJLSM. All Rights Reserved.