Package org.geotools.xml.filter
Class FilterFilter
- Object
-
- XMLFilterImpl
-
- FilterFilter
-
- All Implemented Interfaces:
GMLHandlerJTS
,ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
,XMLFilter
,XMLReader
public class FilterFilter extends XMLFilterImpl implements GMLHandlerJTS
Creates an OGC filter using a SAX filter.Possibly the worst-named class of all time,
FilterFilter
extracts an OGC filter object from an XML stream and passes it to its parent as a fully instantiated OGC filter object.- Author:
- Rob Hranac, Vision for New York
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
insideFilter
Whether Whether we are currently processing a filter.
-
Constructor Summary
Constructors Constructor Description FilterFilter(FilterHandler parent, SimpleFeatureType schema)
Constructor with parent, which must implement GMLHandlerJTS.FilterFilter(FilterHandler parent, SimpleFeatureType schema, boolean convertLiteralToNumber)
Constructor with parent, which must implement GMLHandlerJTS.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(char[] chars, int start, int length)
Reads the only internal characters read by filters.protected static short
convertType(String filterType)
Converts the string representation of the expression to the AbstractFilter or DefaultExpression short type.void
endElement(String namespaceURI, String localName, String qName)
Checks for filter element end and - if not a Filter then sends it directly to the appropriate filter factory.void
geometry(Geometry geometry)
Recieves a geometry from its child filter.void
startElement(String namespaceURI, String localName, String qName, Attributes atts)
Checks the name of the element, and sends to the appropriate filter creation factory.-
Methods inherited from class XMLFilterImpl
endDocument, endPrefixMapping, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, notationDecl, parse, parse, processingInstruction, resolveEntity, setContentHandler, setDocumentLocator, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
-
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ContentHandler
endDocument, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping
-
-
-
-
Constructor Detail
-
FilterFilter
public FilterFilter(FilterHandler parent, SimpleFeatureType schema)
Constructor with parent, which must implement GMLHandlerJTS.- Parameters:
parent
- The parent of this filter, to recieve the filters created.schema
- The schema that the filter will be used against.
-
FilterFilter
public FilterFilter(FilterHandler parent, SimpleFeatureType schema, boolean convertLiteralToNumber)
Constructor with parent, which must implement GMLHandlerJTS.- Parameters:
parent
- The parent of this filter, to recieve the filters created.schema
- The schema that the filter will be used against.
-
-
Method Detail
-
startElement
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException
Checks the name of the element, and sends to the appropriate filter creation factory.- Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classXMLFilterImpl
- Parameters:
namespaceURI
- The namespace of the element.localName
- The local name of the element.qName
- The full name of the element, including namespace prefix.atts
- The element attributes.- Throws:
SAXException
- Some parsing error occured while reading filter.
-
characters
public void characters(char[] chars, int start, int length) throws SAXException
Reads the only internal characters read by filters. If we are in a distance filter than the distance is set in the filter factory, if not we forward directly along to the expression factory.- Specified by:
characters
in interfaceContentHandler
- Overrides:
characters
in classXMLFilterImpl
- Parameters:
chars
- Raw coordinate string from the filter document.start
- Beginning character position of raw string.length
- Length of the character string.- Throws:
SAXException
- Some parsing error occurred while reading coordinates.
-
endElement
public void endElement(String namespaceURI, String localName, String qName) throws SAXException
Checks for filter element end and - if not a Filter then sends it directly to the appropriate filter factory.- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classXMLFilterImpl
- Parameters:
namespaceURI
- Namespace of the element.localName
- Local name of the element.qName
- Full name of the element, including namespace prefix.- Throws:
SAXException
- Parsing error occurred while reading coordinates.
-
geometry
public void geometry(Geometry geometry) throws RuntimeException
Recieves a geometry from its child filter.- Specified by:
geometry
in interfaceGMLHandlerJTS
- Parameters:
geometry
- The geometry from the filter.- Throws:
RuntimeException
- if the filterFactory can't handle the geometry- TODO:
- REVISIT: can we throw another exception?
-
convertType
protected static short convertType(String filterType)
Converts the string representation of the expression to the AbstractFilter or DefaultExpression short type.- Parameters:
filterType
- Type of filter for check.- Returns:
- the short representation of the filter.
-
-