com.sap.portal.httpconnectivity.transformationservice
Class EPSAXDefaultHandler

java.lang.Object
  |
  +--org.xml.sax.helpers.DefaultHandler
        |
        +--com.sap.portal.httpconnectivity.transformationservice.EPSAXDefaultHandler
All Implemented Interfaces:
java.lang.Cloneable, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, IPageContextHolder, ITransformerProperties, org.xml.sax.ext.LexicalHandler

public abstract class EPSAXDefaultHandler
extends org.xml.sax.helpers.DefaultHandler
implements org.xml.sax.ext.LexicalHandler, ITransformerProperties, IPageContextHolder

Abstract base class for all the SAX transformers that will be used in the transformation server.
The default implementation of the DefaultHandler is a simple copy of the source to the result.
SAX Handlers can work with the built-in parameters mechanism. They will have access to the result handlers (ContentHandler and LexicalHandler) and to the page context.
If the result is instance of SAXResult than the resultHandler field will be available, if the result is instance of StreamResult than writer will be available.
When implementing the doClone() method make sure that your handler stays thread safe.


Field Summary
protected  com.sapportals.htmlb.rendering.IPageContext m_pageContext
          Current page context.
protected  java.util.Map m_paremetersMap
          Input parameters of the transformer
 org.xml.sax.ContentHandler resultHandler
          The result content handler.
 org.xml.sax.ext.LexicalHandler resultLexicalHanlder
          The result lexical handler
 java.io.Writer writer
          The writer assosiated with the result
 
Constructor Summary
EPSAXDefaultHandler()
          Creates a new EPSAXDefaultHandler object.
 
Method Summary
 void characters(char[] ch, int start, int length)
           
 void clearParameters()
          Clear the run-time parameters of the handler
 void comment(char[] ch, int start, int length)
           
abstract  EPSAXDefaultHandler doClone()
          Clone the handler
 void endCDATA()
           
 void endDocument()
           
 void endDTD()
           
 void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
           
 void endEntity(java.lang.String name)
           
 void endPrefixMapping(java.lang.String prefix)
           
 void error(org.xml.sax.SAXParseException spe)
           
 void fatalError(org.xml.sax.SAXParseException spe)
           
protected  java.lang.String getNormalizedString(char[] ch, int start, int length)
          Return a string from givven buffer, or empty string if there is no alpha-numeric value.
 com.sapportals.htmlb.rendering.IPageContext getPageContext()
          Get the page context in this holder
 java.lang.Object getParemeter(java.lang.String name)
          Get parameter value from the run-time parameters
 void ignorableWhitespace(char[] ch, int start, int length)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
 org.xml.sax.InputSource resolveEntity(java.lang.String arg0, java.lang.String arg1)
           
 void setPageContext(com.sapportals.htmlb.rendering.IPageContext context)
          Set the page context to the holder
 void setParemeter(java.lang.String name, java.lang.Object value)
          Set a run-time parameter
 void setResult(javax.xml.transform.Result result)
          Set the result of the handler, called by the transformation service before transformation is activated
 void skippedEntity(java.lang.String name)
           
 void startCDATA()
           
 void startDocument()
           
 void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
           
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attrs)
           
 void startEntity(java.lang.String name)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
           
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
notationDecl, setDocumentLocator, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sap.portal.httpconnectivity.transformationservice.ITransformerProperties
getInputProperties
 

Field Detail

resultHandler

public org.xml.sax.ContentHandler resultHandler
The result content handler. It is null if the handler is in the last transformer of the pipe.

resultLexicalHanlder

public org.xml.sax.ext.LexicalHandler resultLexicalHanlder
The result lexical handler

m_pageContext

protected com.sapportals.htmlb.rendering.IPageContext m_pageContext
Current page context. The transformer holding this handler will set page context before transfoming

m_paremetersMap

protected java.util.Map m_paremetersMap
Input parameters of the transformer

writer

public java.io.Writer writer
The writer assosiated with the result
Constructor Detail

EPSAXDefaultHandler

public EPSAXDefaultHandler()
Creates a new EPSAXDefaultHandler object.
Method Detail

getPageContext

public com.sapportals.htmlb.rendering.IPageContext getPageContext()
Description copied from interface: IPageContextHolder
Get the page context in this holder
Specified by:
getPageContext in interface IPageContextHolder
Following copied from interface: com.sap.portal.httpconnectivity.transformationservice.IPageContextHolder
Returns:
the page context in this holder

setPageContext

public void setPageContext(com.sapportals.htmlb.rendering.IPageContext context)
Description copied from interface: IPageContextHolder
Set the page context to the holder
Specified by:
setPageContext in interface IPageContextHolder
Following copied from interface: com.sap.portal.httpconnectivity.transformationservice.IPageContextHolder
Parameters:
context - the current page context to hold

getParemeter

public java.lang.Object getParemeter(java.lang.String name)
Get parameter value from the run-time parameters
Parameters:
name - name of the parameter
Returns:
value of the parameter

setParemeter

public void setParemeter(java.lang.String name,
                         java.lang.Object value)
Set a run-time parameter
Parameters:
name - name of the parameter to set. If the parameter already exists it will be overwritten
value - value of the parameter

setResult

public void setResult(javax.xml.transform.Result result)
Set the result of the handler, called by the transformation service before transformation is activated
Parameters:
result - the result of the transformation

clearParameters

public void clearParameters()
Clear the run-time parameters of the handler

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Overrides:
characters in class org.xml.sax.helpers.DefaultHandler

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Overrides:
endDocument in class org.xml.sax.helpers.DefaultHandler

endElement

public void endElement(java.lang.String namespaceURI,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
Overrides:
endElement in class org.xml.sax.helpers.DefaultHandler

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
Overrides:
endPrefixMapping in class org.xml.sax.helpers.DefaultHandler

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Overrides:
ignorableWhitespace in class org.xml.sax.helpers.DefaultHandler

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Overrides:
processingInstruction in class org.xml.sax.helpers.DefaultHandler

skippedEntity

public void skippedEntity(java.lang.String name)
                   throws org.xml.sax.SAXException
Overrides:
skippedEntity in class org.xml.sax.helpers.DefaultHandler

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Overrides:
startDocument in class org.xml.sax.helpers.DefaultHandler

startElement

public void startElement(java.lang.String namespaceURI,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes attrs)
                  throws org.xml.sax.SAXException
Overrides:
startElement in class org.xml.sax.helpers.DefaultHandler

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Overrides:
startPrefixMapping in class org.xml.sax.helpers.DefaultHandler

comment

public void comment(char[] ch,
                    int start,
                    int length)
             throws org.xml.sax.SAXException
Specified by:
comment in interface org.xml.sax.ext.LexicalHandler

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Specified by:
endCDATA in interface org.xml.sax.ext.LexicalHandler

endDTD

public void endDTD()
            throws org.xml.sax.SAXException
Specified by:
endDTD in interface org.xml.sax.ext.LexicalHandler

endEntity

public void endEntity(java.lang.String name)
               throws org.xml.sax.SAXException
Specified by:
endEntity in interface org.xml.sax.ext.LexicalHandler

startDTD

public void startDTD(java.lang.String name,
                     java.lang.String publicId,
                     java.lang.String systemId)
              throws org.xml.sax.SAXException
Specified by:
startDTD in interface org.xml.sax.ext.LexicalHandler

startEntity

public void startEntity(java.lang.String name)
                 throws org.xml.sax.SAXException
Specified by:
startEntity in interface org.xml.sax.ext.LexicalHandler

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Specified by:
startCDATA in interface org.xml.sax.ext.LexicalHandler

error

public void error(org.xml.sax.SAXParseException spe)
           throws org.xml.sax.SAXException
Overrides:
error in class org.xml.sax.helpers.DefaultHandler

fatalError

public void fatalError(org.xml.sax.SAXParseException spe)
                throws org.xml.sax.SAXException
Overrides:
fatalError in class org.xml.sax.helpers.DefaultHandler

getNormalizedString

protected java.lang.String getNormalizedString(char[] ch,
                                               int start,
                                               int length)
Return a string from givven buffer, or empty string if there is no alpha-numeric value.
Parameters:
ch - the characters buffer
start - the starting point in the buffer
length - the number of characters to take
Returns:
normerlized string

doClone

public abstract EPSAXDefaultHandler doClone()
Clone the handler
Returns:
EPSAXDefaultHandler new instance of the handler

resolveEntity

public org.xml.sax.InputSource resolveEntity(java.lang.String arg0,
                                             java.lang.String arg1)
                                      throws org.xml.sax.SAXException
Overrides:
resolveEntity in class org.xml.sax.helpers.DefaultHandler