org.geotools.data.postgis
Class PostgisFilterToSQL

Object
  extended by FilterToSQL
      extended by PostgisFilterToSQL
All Implemented Interfaces:
ExpressionVisitor, FilterVisitor

public class PostgisFilterToSQL
extends FilterToSQL


Nested Class Summary
 
Nested classes/interfaces inherited from class FilterToSQL
FilterToSQL.FieldEncoder
 
Field Summary
 
Fields inherited from class FilterToSQL
capabilities, currentDimension, currentGeometry, currentSRID, databaseSchema, encodingFunction, featureType, fieldEncoder, filterFactory, inline, IO_ERROR, mapper, out, primaryKey
 
Constructor Summary
PostgisFilterToSQL(PostGISDialect dialect)
           
 
Method Summary
protected  String cast(String encodedProperty, Class target)
          Gives the opportunity to subclasses to force the property to the desired type.
protected  FilterCapabilities createFilterCapabilities()
          Sets the capabilities of this filter.
protected  String getFunctionName(Function function)
          Maps the function to the native database function name
 boolean isLooseBBOXEnabled()
           
 void setFunctionEncodingEnabled(boolean functionEncodingEnabled)
           
 void setLooseBBOXEnabled(boolean looseBBOXEnabled)
           
 Object visit(Function function, Object extraData)
          Writes sql for a function expression.
protected  Object visitBinarySpatialOperator(BinarySpatialOperator filter, Expression e1, Expression e2, Object extraData)
          Handles the more general case of two generic expressions.
protected  Object visitBinarySpatialOperator(BinarySpatialOperator filter, PropertyName property, Literal geometry, boolean swapped, Object extraData)
          Handles the common case of a PropertyName,Literal geometry binary spatial operator.
protected  void visitLiteralGeometry(Literal expression)
          Subclasses must implement this method in order to encode geometry filters according to the specific database implementation
 
Methods inherited from class FilterToSQL
encode, encode, encodeToString, encodeToString, escapeName, evaluateLiteral, getCapabilities, getDatabaseSchema, getFIDMapper, getParameter, getPrimaryKey, setCapabilities, setDatabaseSchema, setFeatureType, setFIDMapper, setFieldEncoder, setInline, setPrimaryKey, setSqlNameEscape, setWriter, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitBinaryComparisonOperator, visitBinarySpatialOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitLiteralTimePeriod, visitNullFilter, writeLiteral
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PostgisFilterToSQL

public PostgisFilterToSQL(PostGISDialect dialect)
Method Detail

isLooseBBOXEnabled

public boolean isLooseBBOXEnabled()

setLooseBBOXEnabled

public void setLooseBBOXEnabled(boolean looseBBOXEnabled)

visitLiteralGeometry

protected void visitLiteralGeometry(Literal expression)
                             throws IOException
Description copied from class: FilterToSQL
Subclasses must implement this method in order to encode geometry filters according to the specific database implementation

Overrides:
visitLiteralGeometry in class FilterToSQL
Throws:
IOException - DOCUMENT ME!

createFilterCapabilities

protected FilterCapabilities createFilterCapabilities()
Description copied from class: FilterToSQL
Sets the capabilities of this filter.

Overrides:
createFilterCapabilities in class FilterToSQL
Returns:
FilterCapabilities for this Filter

visitBinarySpatialOperator

protected Object visitBinarySpatialOperator(BinarySpatialOperator filter,
                                            PropertyName property,
                                            Literal geometry,
                                            boolean swapped,
                                            Object extraData)
Description copied from class: FilterToSQL
Handles the common case of a PropertyName,Literal geometry binary spatial operator.

Overrides:
visitBinarySpatialOperator in class FilterToSQL

visitBinarySpatialOperator

protected Object visitBinarySpatialOperator(BinarySpatialOperator filter,
                                            Expression e1,
                                            Expression e2,
                                            Object extraData)
Description copied from class: FilterToSQL
Handles the more general case of two generic expressions.

The most common case is two PropertyName expressions, which happens during a spatial join.

Overrides:
visitBinarySpatialOperator in class FilterToSQL

visit

public Object visit(Function function,
                    Object extraData)
             throws RuntimeException
Description copied from class: FilterToSQL
Writes sql for a function expression. By default it will write the call by using the same arguments provided to the GeoTools function, subclasses should override on a case by case basis if this behavior is not the desired one.

Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class FilterToSQL
Throws:
RuntimeException - If an IO error occurs.
See Also:
FilterToSQL.getFunctionName(Function)

getFunctionName

protected String getFunctionName(Function function)
Description copied from class: FilterToSQL
Maps the function to the native database function name

Overrides:
getFunctionName in class FilterToSQL
Returns:

cast

protected String cast(String encodedProperty,
                      Class target)
               throws IOException
Description copied from class: FilterToSQL
Gives the opportunity to subclasses to force the property to the desired type. By default it simply writes out the property as-is (the property must be already escaped).

Overrides:
cast in class FilterToSQL
Throws:
IOException

setFunctionEncodingEnabled

public void setFunctionEncodingEnabled(boolean functionEncodingEnabled)


Copyright © 1996-2014 Geotools. All Rights Reserved.