org.geotools.data.oracle
Class OracleFilterToSQL

Object
  extended by FilterToSQL
      extended by PreparedFilterToSQL
          extended by OracleFilterToSQL
All Implemented Interfaces:
ExpressionVisitor, FilterVisitor

public class OracleFilterToSQL
extends PreparedFilterToSQL

Oracle specific filter encoder.

Author:
Justin Deoliveira, OpenGEO, Andrea Aime, OpenGEO, Davide Savazzi, GeoSolutions

Nested Class Summary
 
Nested classes/interfaces inherited from class FilterToSQL
FilterToSQL.FieldEncoder
 
Field Summary
protected  boolean looseBBOXEnabled
          Whether BBOX should be encoded as just a primary filter or primary+secondary
 
Fields inherited from class PreparedFilterToSQL
dialect, dimensions, literalTypes, literalValues, SRIDs
 
Fields inherited from class FilterToSQL
capabilities, currentDimension, currentGeometry, currentSRID, databaseSchema, encodingFunction, featureType, fieldEncoder, filterFactory, inline, IO_ERROR, mapper, out, primaryKey
 
Constructor Summary
OracleFilterToSQL(PreparedStatementSQLDialect dialect)
           
 
Method Summary
protected
<T> void
accumulateGeometries(List<T> collection, Geometry g, Class<? extends T> target)
           
protected  FilterCapabilities createFilterCapabilities()
          Sets the capabilities of this filter.
protected  Geometry distillSameTypeGeometries(GeometryCollection coll, Geometry original)
           
protected  void doSDODistance(BinarySpatialOperator filter, Expression e1, Expression e2, Object extraData)
           
protected  void doSDOFilter(Filter filter, Expression e1, Expression e2, Object extraData)
           
protected  void doSDORelate(Filter filter, Expression e1, Expression e2, boolean swapped, Object extraData)
          Encodes an SDO relate
 boolean isLooseBBOXEnabled()
           
 void setLooseBBOXEnabled(boolean looseBBOXEnabled)
           
 Object visit(Function function, Object extraData)
          Writes sql for a function expression.
 Object visit(PropertyIsEqualTo filter, Object extraData)
          Write the SQL for this kind of filter
protected  Object visitBinarySpatialOperator(BinarySpatialOperator filter, Expression e1, Expression e2, boolean swapped, Object extraData)
           
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.
 
Methods inherited from class PreparedFilterToSQL
getDimensions, getLiteralTypes, getLiteralValues, getSRIDs, isPrepareEnabled, setPrepareEnabled, visit, visit
 
Methods inherited from class FilterToSQL
cast, encode, encode, encodeToString, encodeToString, escapeName, evaluateLiteral, getCapabilities, getDatabaseSchema, getFIDMapper, getFunctionName, 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, visitBinaryComparisonOperator, visitBinarySpatialOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitLiteralGeometry, visitLiteralTimePeriod, visitNullFilter, writeLiteral
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

looseBBOXEnabled

protected boolean looseBBOXEnabled
Whether BBOX should be encoded as just a primary filter or primary+secondary

Constructor Detail

OracleFilterToSQL

public OracleFilterToSQL(PreparedStatementSQLDialect dialect)
Method Detail

isLooseBBOXEnabled

public boolean isLooseBBOXEnabled()

setLooseBBOXEnabled

public void setLooseBBOXEnabled(boolean looseBBOXEnabled)

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

visit

public Object visit(PropertyIsEqualTo filter,
                    Object extraData)
Description copied from class: FilterToSQL
Write the SQL for this kind of filter

Specified by:
visit in interface FilterVisitor
Overrides:
visit in class FilterToSQL
Parameters:
filter - the filter to visit
extraData - extra data (unused by this method)

visit

public Object visit(Function function,
                    Object extraData)
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
See Also:
FilterToSQL.getFunctionName(Function)

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

visitBinarySpatialOperator

protected Object visitBinarySpatialOperator(BinarySpatialOperator filter,
                                            Expression e1,
                                            Expression e2,
                                            boolean swapped,
                                            Object extraData)

distillSameTypeGeometries

protected Geometry distillSameTypeGeometries(GeometryCollection coll,
                                             Geometry original)

accumulateGeometries

protected <T> void accumulateGeometries(List<T> collection,
                                        Geometry g,
                                        Class<? extends T> target)

doSDOFilter

protected void doSDOFilter(Filter filter,
                           Expression e1,
                           Expression e2,
                           Object extraData)
                    throws IOException
Throws:
IOException

doSDORelate

protected void doSDORelate(Filter filter,
                           Expression e1,
                           Expression e2,
                           boolean swapped,
                           Object extraData)
                    throws IOException
Encodes an SDO relate

Parameters:
filter -
property -
geometry -
extraData -
Throws:
IOException

doSDODistance

protected void doSDODistance(BinarySpatialOperator filter,
                             Expression e1,
                             Expression e2,
                             Object extraData)
                      throws IOException
Throws:
IOException


Copyright © 1996-2014 Geotools. All Rights Reserved.