Package org.locationtech.jts.io.gml2
Class GMLHandler
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.locationtech.jts.io.gml2.GMLHandler
-
- All Implemented Interfaces:
ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
public class GMLHandler extends DefaultHandler
A SAXDefaultHandler
which buildsGeometry
s 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:
- If your parent handler is a DefaultHandler register the parent handler to receive the errors and locator calls.
- Use
GeometryStrategies.findStrategy(String, String)
to help check for applicability
- Author:
- David Zwiers, Vivid Solutions.
- See Also:
DefaultHandler
-
-
Constructor Summary
Constructors Constructor Description GMLHandler(GeometryFactory gf, ErrorHandler delegate)
Creates a new handler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(char[] ch, int start, int length)
void
endElement(String uri, String localName, String qName)
void
error(SAXParseException e)
void
fatalError(SAXParseException e)
protected 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(Locator locator)
void
startElement(String uri, String localName, String qName, Attributes attributes)
void
warning(SAXParseException e)
-
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, notationDecl, processingInstruction, resolveEntity, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl
-
-
-
-
Constructor Detail
-
GMLHandler
public GMLHandler(GeometryFactory gf, 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 Factorydelegate
- 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:
- if the parsing of the geometry is complete
-
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:
IllegalStateException
- if called before the parse is complete
-
characters
public void characters(char[] ch, int start, int length) throws SAXException
- Specified by:
characters
in interfaceContentHandler
- Overrides:
characters
in classDefaultHandler
- Throws:
SAXException
- See Also:
DefaultHandler.characters(char[], int, int)
-
ignorableWhitespace
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
- Specified by:
ignorableWhitespace
in interfaceContentHandler
- Overrides:
ignorableWhitespace
in classDefaultHandler
- Throws:
SAXException
- See Also:
DefaultHandler.ignorableWhitespace(char[], int, int)
-
endElement
public void endElement(String uri, String localName, String qName) throws SAXException
- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classDefaultHandler
- Throws:
SAXException
- See Also:
DefaultHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
-
startElement
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
- Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classDefaultHandler
- Throws:
SAXException
- See Also:
DefaultHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
-
setDocumentLocator
public void setDocumentLocator(Locator locator)
- Specified by:
setDocumentLocator
in interfaceContentHandler
- Overrides:
setDocumentLocator
in classDefaultHandler
- See Also:
DefaultHandler.setDocumentLocator(org.xml.sax.Locator)
-
getDocumentLocator
protected Locator getDocumentLocator()
-
fatalError
public void fatalError(SAXParseException e) throws SAXException
- Specified by:
fatalError
in interfaceErrorHandler
- Overrides:
fatalError
in classDefaultHandler
- Throws:
SAXException
- See Also:
DefaultHandler.fatalError(org.xml.sax.SAXParseException)
-
error
public void error(SAXParseException e) throws SAXException
- Specified by:
error
in interfaceErrorHandler
- Overrides:
error
in classDefaultHandler
- Throws:
SAXException
- See Also:
DefaultHandler.error(org.xml.sax.SAXParseException)
-
warning
public void warning(SAXParseException e) throws SAXException
- Specified by:
warning
in interfaceErrorHandler
- Overrides:
warning
in classDefaultHandler
- Throws:
SAXException
- See Also:
DefaultHandler.warning(org.xml.sax.SAXParseException)
-
-