Class 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

      Constructors 
      Constructor Description
      GMLHandler​(GeometryFactory gf, org.xml.sax.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​(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)  
      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

        equals, 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:
        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:
        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
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Overrides:
        characters in class org.xml.sax.helpers.DefaultHandler
        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
        Specified by:
        ignorableWhitespace in interface org.xml.sax.ContentHandler
        Overrides:
        ignorableWhitespace in class org.xml.sax.helpers.DefaultHandler
        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
        Specified by:
        endElement in interface org.xml.sax.ContentHandler
        Overrides:
        endElement in class org.xml.sax.helpers.DefaultHandler
        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
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class org.xml.sax.helpers.DefaultHandler
        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)
        Specified by:
        setDocumentLocator in interface org.xml.sax.ContentHandler
        Overrides:
        setDocumentLocator in class org.xml.sax.helpers.DefaultHandler
        See Also:
        DefaultHandler.setDocumentLocator(org.xml.sax.Locator)
      • fatalError

        public void fatalError​(org.xml.sax.SAXParseException e)
                        throws org.xml.sax.SAXException
        Specified by:
        fatalError in interface org.xml.sax.ErrorHandler
        Overrides:
        fatalError in class org.xml.sax.helpers.DefaultHandler
        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
        Specified by:
        error in interface org.xml.sax.ErrorHandler
        Overrides:
        error in class org.xml.sax.helpers.DefaultHandler
        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
        Specified by:
        warning in interface org.xml.sax.ErrorHandler
        Overrides:
        warning in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
        See Also:
        DefaultHandler.warning(org.xml.sax.SAXParseException)