org.jasig.portal.car
Class ExtensionTagHandler

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by org.jasig.portal.car.ExtensionTagHandler
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

 class ExtensionTagHandler
extends org.xml.sax.helpers.DefaultHandler

Handles reading the extension tags in the descriptor. These tags contain extension specific content that is foreign to the deployment descriptor but understood by the handler class declared by the extension tag. Upon entering an extension block the declared handler class will be instantiated, the startDocument method will be call indicating to the class that parsing of the content of its extension block will be forthcoming. All events within the block are then passed to the handler until the block is exited at which point the endDocument method is called. Neither the startElement nor the endElement events for the enclosing extension element are passed to the handler class. It only sees events for content within the block.

Version:
$Revision: 1.2 $
Author:
Mark Boyd

Field Summary
private  ParsingContext ctx
           
private  org.xml.sax.ContentHandler extHandler
           
private static org.apache.commons.logging.Log log
           
 
Constructor Summary
ExtensionTagHandler(ParsingContext ctx)
           
 
Method Summary
 void characters(char[] ch, int start, int length)
          Passes character events to an extension block's declared handler if within an extension block and the handler was successfully instantiated.
 void endElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
          Receives end element calls passing them to the declared handler if within an extension block or removing the current handler when an extension block is exited.
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
          Receives startElement events watching for entry into an extension block so that it can instantiate a declared handler for that block and pass events within the block to that handler.
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final org.apache.commons.logging.Log log

extHandler

private org.xml.sax.ContentHandler extHandler

ctx

private ParsingContext ctx
Constructor Detail

ExtensionTagHandler

public ExtensionTagHandler(ParsingContext ctx)
Method Detail

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Passes character events to an extension block's declared handler if within an extension block and the handler was successfully instantiated.

Specified by:
characters in interface org.xml.sax.ContentHandler
Overrides:
characters in class org.xml.sax.helpers.DefaultHandler
Throws:
org.xml.sax.SAXException

startElement

public void startElement(java.lang.String namespaceURI,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes atts)
                  throws org.xml.sax.SAXException
Receives startElement events watching for entry into an extension block so that it can instantiate a declared handler for that block and pass events within the block to that handler.

Specified by:
startElement in interface org.xml.sax.ContentHandler
Overrides:
startElement in class org.xml.sax.helpers.DefaultHandler
Throws:
org.xml.sax.SAXException

endElement

public void endElement(java.lang.String namespaceURI,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
Receives end element calls passing them to the declared handler if within an extension block or removing the current handler when an extension block is exited.

Specified by:
endElement in interface org.xml.sax.ContentHandler
Overrides:
endElement in class org.xml.sax.helpers.DefaultHandler
Throws:
org.xml.sax.SAXException