org.mule.module.xml.transformer
Class AbstractXmlTransformer

java.lang.Object
  extended by org.mule.transformer.AbstractTransformer
      extended by org.mule.module.xml.transformer.AbstractXmlTransformer
All Implemented Interfaces:
Initialisable, NamedObject, BaseTransformer, Transformer
Direct Known Subclasses:
DomDocumentToXml, XmlToDomDocument, XmlToOutputHandler, XmlToXMLStreamReader, XsltTransformer

public abstract class AbstractXmlTransformer
extends AbstractTransformer

AbstractXmlTransformer offers some XSLT transform on a DOM (or other XML-ish) object.


Nested Class Summary
protected static interface AbstractXmlTransformer.ResultHolder
          Result callback interface used when processing XML through JAXP
 
Field Summary
 
Fields inherited from class org.mule.transformer.AbstractTransformer
DEFAULT_TRUNCATE_LENGTH, endpoint, logger, name, returnClass, sourceTypes
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Constructor Summary
AbstractXmlTransformer()
           
 
Method Summary
protected  String convertToBytes(Object obj, String outputEncoding)
          Converts an XML in-memory representation to a String using a specific encoding.
protected  String convertToText(Object obj)
          Deprecated. Replaced by convertToText(Object obj, String ouputEncoding)
protected  String convertToText(Object obj, String outputEncoding)
          Converts an XML in-memory representation to a String using a specific encoding.
 String getOutputEncoding()
           
protected static AbstractXmlTransformer.ResultHolder getResultHolder(Class desiredClass)
           
 javax.xml.stream.XMLInputFactory getXMLInputFactory()
           
 javax.xml.stream.XMLOutputFactory getXMLOutputFactory()
           
 boolean isUseStaxSource()
           
 void setOutputEncoding(String outputEncoding)
           
 void setUseStaxSource(boolean useStaxSource)
           
 void setXMLInputFactory(javax.xml.stream.XMLInputFactory xmlInputFactory)
           
 void setXMLOutputFactory(javax.xml.stream.XMLOutputFactory xmlOutputFactory)
           
protected  void writeToStream(Object obj, String outputEncoding, OutputStream output)
           
 
Methods inherited from class org.mule.transformer.AbstractTransformer
checkReturnClass, doTransform, generateTransformerName, getEndpoint, getName, getReturnClass, getSourceTypes, initialise, isAcceptNull, isConsumed, isIgnoreBadInput, isSourceTypeSupported, isSourceTypeSupported, registerSourceType, setEndpoint, setIgnoreBadInput, setName, setReturnClass, toString, transform, unregisterSourceType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractXmlTransformer

public AbstractXmlTransformer()
Method Detail

getResultHolder

protected static AbstractXmlTransformer.ResultHolder getResultHolder(Class desiredClass)
Parameters:
desiredClass - Java class representing the desired format
Returns:
Callback interface representing the desiredClass - or null if the return class isn't supported (or is null).

convertToText

protected String convertToText(Object obj)
                        throws TransformerFactoryConfigurationError,
                               TransformerException,
                               TransformerException
Deprecated. Replaced by convertToText(Object obj, String ouputEncoding)

Converts an XML in-memory representation to a String

Parameters:
obj - Object to convert (could be byte[], String, DOM, DOM4J)
Returns:
String including XML header using default (UTF-8) encoding
Throws:
TransformerFactoryConfigurationError - On error
TransformerException - On error
TransformerException

convertToText

protected String convertToText(Object obj,
                               String outputEncoding)
                        throws TransformerFactoryConfigurationError,
                               TransformerException,
                               TransformerException
Converts an XML in-memory representation to a String using a specific encoding. If using an encoding which cannot represent specific characters, these are written as entities, even if they can be represented as a Java String.

Parameters:
obj - Object to convert (could be byte[], String, DOM, or DOM4J Document). If the object is a byte[], the character encoding used MUST match the declared encoding standard, or a parse error will occur.
outputEncoding - Name of the XML encoding to use, e.g. US-ASCII, or null for UTF-8
Returns:
String including XML header using the specified encoding
Throws:
TransformerFactoryConfigurationError - On error
TransformerException - On error
TransformerException

convertToBytes

protected String convertToBytes(Object obj,
                                String outputEncoding)
                         throws TransformerFactoryConfigurationError,
                                TransformerException,
                                TransformerException
Converts an XML in-memory representation to a String using a specific encoding.

Parameters:
obj - Object to convert (could be byte[], String, DOM, or DOM4J Document). If the object is a byte[], the character encoding used MUST match the declared encoding standard, or a parse error will occur.
outputEncoding - Name of the XML encoding to use, e.g. US-ASCII, or null for UTF-8
Returns:
String including XML header using the specified encoding
Throws:
TransformerFactoryConfigurationError - On error
TransformerException - On error
TransformerException

writeToStream

protected void writeToStream(Object obj,
                             String outputEncoding,
                             OutputStream output)
                      throws TransformerFactoryConfigurationError,
                             TransformerException,
                             TransformerException
Throws:
TransformerFactoryConfigurationError
TransformerException

getOutputEncoding

public String getOutputEncoding()
Returns:
the outputEncoding

setOutputEncoding

public void setOutputEncoding(String outputEncoding)
Parameters:
outputEncoding - the outputEncoding to set

isUseStaxSource

public boolean isUseStaxSource()

setUseStaxSource

public void setUseStaxSource(boolean useStaxSource)

getXMLInputFactory

public javax.xml.stream.XMLInputFactory getXMLInputFactory()

setXMLInputFactory

public void setXMLInputFactory(javax.xml.stream.XMLInputFactory xmlInputFactory)

getXMLOutputFactory

public javax.xml.stream.XMLOutputFactory getXMLOutputFactory()

setXMLOutputFactory

public void setXMLOutputFactory(javax.xml.stream.XMLOutputFactory xmlOutputFactory)


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.