com.vividsolutions.jts.io.gml2
Class GMLHandler

java.lang.Object
  extended byorg.xml.sax.helpers.DefaultHandler
      extended bycom.vividsolutions.jts.io.gml2.GMLHandler
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

public class GMLHandler
extends org.xml.sax.helpers.DefaultHandler

A SAX DefaultHandler which builds Geometrys from GML2-formatted geometries. An XML parser can delegate SAX events to this handler to parse and building Geometrys.

This handler currently ignores both namespaces and prefixes. Hints:

Author:
David Zwiers, Vivid Solutions.
See Also:
DefaultHandler

Constructor Summary
GMLHandler(GeometryFactory gf, org.xml.sax.ErrorHandler delegate)
          Creates a new handler.
 
Method Summary
 void characters(char[] ch, int start, int length)
           
 void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
           
 void error(org.xml.sax.SAXParseException e)
           
 void fatalError(org.xml.sax.SAXParseException e)
           
protected  org.xml.sax.Locator getDocumentLocator()
           
 Geometry getGeometry()
          Gets the geometry parsed by this handler.
 void ignorableWhitespace(char[] ch, int start, int length)
           
 boolean isGeometryComplete()
          Tests whether this handler has completed parsing a geometry.
 void setDocumentLocator(org.xml.sax.Locator locator)
           
 void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)
           
 void warning(org.xml.sax.SAXParseException e)
           
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, notationDecl, processingInstruction, resolveEntity, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GMLHandler

public GMLHandler(GeometryFactory gf,
                  org.xml.sax.ErrorHandler delegate)
Creates a new handler. Allows the user to specify a delegate object for error / warning messages. If the delegate also implements ContentHandler then the document Locator will be passed on.

Parameters:
gf - Geometry Factory
delegate - Nullable
See Also:
ErrorHandler, ContentHandler, ContentHandler.setDocumentLocator(org.xml.sax.Locator), Locator
Method Detail

isGeometryComplete

public boolean isGeometryComplete()
Tests whether this handler has completed parsing a geometry. If this is the case, getGeometry() can be called to get the value of the parsed geometry.

Returns:

getGeometry

public Geometry getGeometry()
Gets the geometry parsed by this handler. This method should only be called AFTER the parser has completed execution

Returns:
the parsed Geometry, or a GeometryCollection if more than one geometry was parsed
Throws:
java.lang.IllegalStateException - if called before the parse is complete

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.characters(char[], int, int)

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.ignorableWhitespace(char[], int, int)

endElement

public void endElement(java.lang.String uri,
                       java.lang.String localName,
                       java.lang.String qName)
                throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.endElement(java.lang.String, java.lang.String, java.lang.String)

startElement

public void startElement(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes attributes)
                  throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
See Also:
DefaultHandler.setDocumentLocator(org.xml.sax.Locator)

getDocumentLocator

protected org.xml.sax.Locator getDocumentLocator()

fatalError

public void fatalError(org.xml.sax.SAXParseException e)
                throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.fatalError(org.xml.sax.SAXParseException)

error

public void error(org.xml.sax.SAXParseException e)
           throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.error(org.xml.sax.SAXParseException)

warning

public void warning(org.xml.sax.SAXParseException e)
             throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException
See Also:
DefaultHandler.warning(org.xml.sax.SAXParseException)