gate.creole
Class CreoleXmlHandler

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by gate.creole.CreoleXmlHandler
All Implemented Interfaces:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler

public class CreoleXmlHandler
extends DefaultHandler

This is a SAX handler for processing creole.xml files. It would have been better to write it using DOM or JDOM but.... Resource data objects are created and added to the CREOLE register. URLs for resource JAR files are added to the GATE class loader.


Constructor Summary
CreoleXmlHandler(CreoleRegister register, URL directoryUrl, URL creoleFileUrl)
          Construction
 
Method Summary
 void characters(char[] text, int start, int length)
          Called when the SAX parser encounts text (PCDATA) in the XML doc
 void charactersAction(char[] text, int start, int length)
          This method is called when all characters between specific tags have been read completely
protected  List<Parameter> currentFlattenedDisjunction()
          Flatten the currentParamDisjunction map into a single list ordered by priority.
 void endDocument()
          Called when the SAX parser encounts the end of the XML document
 void endElement(String uri, String qName, String elementName)
          Called when the SAX parser encounts the end of an XML element.
 void error(SAXParseException ex)
          Called for parse errors.
 void fatalError(SAXParseException ex)
          Called for fatal errors.
 void ignorableWhitespace(char[] ch, int start, int length)
          Called when the SAX parser encounts white space
 void startDocument()
          Called when the SAX parser encounts the beginning of the XML document
 void startElement(String uri, String qName, String elementName, Attributes atts)
          Called when the SAX parser encounts the beginning of an XML element
 void warning(SAXParseException ex)
          Called for warnings.
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endPrefixMapping, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startPrefixMapping, unparsedEntityDecl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CreoleXmlHandler

public CreoleXmlHandler(CreoleRegister register,
                        URL directoryUrl,
                        URL creoleFileUrl)
Construction

Method Detail

startDocument

public void startDocument()
                   throws GateSaxException
Called when the SAX parser encounts the beginning of the XML document

Specified by:
startDocument in interface ContentHandler
Overrides:
startDocument in class DefaultHandler
Throws:
GateSaxException

endDocument

public void endDocument()
                 throws GateSaxException
Called when the SAX parser encounts the end of the XML document

Specified by:
endDocument in interface ContentHandler
Overrides:
endDocument in class DefaultHandler
Throws:
GateSaxException

startElement

public void startElement(String uri,
                         String qName,
                         String elementName,
                         Attributes atts)
                  throws SAXException
Called when the SAX parser encounts the beginning of an XML element

Specified by:
startElement in interface ContentHandler
Overrides:
startElement in class DefaultHandler
Throws:
SAXException

endElement

public void endElement(String uri,
                       String qName,
                       String elementName)
                throws GateSaxException,
                       SAXException
Called when the SAX parser encounts the end of an XML element. This is where ResourceData objects get values set, and where they are added to the CreoleRegister when we parsed their complete metadata entries.

Specified by:
endElement in interface ContentHandler
Overrides:
endElement in class DefaultHandler
Throws:
GateSaxException
SAXException

characters

public void characters(char[] text,
                       int start,
                       int length)
                throws SAXException
Called when the SAX parser encounts text (PCDATA) in the XML doc

Specified by:
characters in interface ContentHandler
Overrides:
characters in class DefaultHandler
Throws:
SAXException

charactersAction

public void charactersAction(char[] text,
                             int start,
                             int length)
                      throws SAXException
This method is called when all characters between specific tags have been read completely

Throws:
SAXException

currentFlattenedDisjunction

protected List<Parameter> currentFlattenedDisjunction()
Flatten the currentParamDisjunction map into a single list ordered by priority.


ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws SAXException
Called when the SAX parser encounts white space

Specified by:
ignorableWhitespace in interface ContentHandler
Overrides:
ignorableWhitespace in class DefaultHandler
Throws:
SAXException

error

public void error(SAXParseException ex)
           throws SAXException
Called for parse errors.

Specified by:
error in interface ErrorHandler
Overrides:
error in class DefaultHandler
Throws:
SAXException

fatalError

public void fatalError(SAXParseException ex)
                throws SAXException
Called for fatal errors.

Specified by:
fatalError in interface ErrorHandler
Overrides:
fatalError in class DefaultHandler
Throws:
SAXException

warning

public void warning(SAXParseException ex)
             throws SAXException
Called for warnings.

Specified by:
warning in interface ErrorHandler
Overrides:
warning in class DefaultHandler
Throws:
SAXException