org.geotools.data.db2
Class DB2FilterToSQL
Object
FilterToSQL
PreparedFilterToSQL
DB2FilterToSQL
- All Implemented Interfaces:
- ExpressionVisitor, FilterVisitor
public class DB2FilterToSQL
- extends PreparedFilterToSQL
Generate a WHERE clause for DB2 Spatial Extender based on a spatial filter.
The following spatial filter operations are supported:
-
GEOMETRY_BBOX
-
GEOMETRY_CONTAINS
-
GEOMETRY_CROSSES
-
GEOMETRY_DISJOINT
-
GEOMETRY_EQUALS
-
GEOMETRY_INTERSECTS
-
GEOMETRY_OVERLAPS
-
GEOMETRY_TOUCHES
-
GEOMETRY_WITHIN
-
GEOMETRY_DWITHIN
- Author:
- Mueller Christian
- Module:
modules/plugin/jdbc-db2 (gt-jdbc-db2.jar)
Method Summary |
protected void |
addSelectivity()
|
protected FilterCapabilities |
createFilterCapabilities()
Sets the DB2 filter capabilities. |
String |
db2Geom(Geometry geom)
Construct a geometry from the WKT representation of a geometry |
HashMap |
getPredicateMap()
|
boolean |
isLooseBBOXEnabled()
|
void |
setLooseBBOXEnabled(boolean looseBBOXEnabled)
|
void |
setSelectivityClause(String string)
Sets a SELECTIVITY clause that can be included with the spatial
predicate to influence the query optimizer to exploit a spatial index
if it exists. |
Object |
visit(BBOX filter,
Object extraData)
|
Object |
visit(Beyond filter,
Object extraData)
|
Object |
visit(Contains filter,
Object extraData)
|
Object |
visit(Crosses filter,
Object extraData)
|
Object |
visit(Disjoint filter,
Object extraData)
|
Object |
visit(DWithin filter,
Object extraData)
|
Object |
visit(Equals filter,
Object extraData)
|
Object |
visit(ExcludeFilter filter,
Object extraData)
|
Object |
visit(IncludeFilter filter,
Object extraData)
|
Object |
visit(Intersects filter,
Object extraData)
|
Object |
visit(Overlaps filter,
Object extraData)
|
Object |
visit(Touches filter,
Object extraData)
|
Object |
visit(Within filter,
Object extraData)
|
protected Object |
visitBinarySpatialOperator(BinarySpatialOperator filter,
Object extraData)
|
protected Object |
visitBinarySpatialOperator(BinarySpatialOperator filter,
Object extraData,
String db2Predicate)
|
void |
visitLiteralGeometry(Literal expression)
Construct the appropriate geometry type from the WKT representation of a literal
expression |
Methods inherited from class FilterToSQL |
encode, encode, encodeToString, encodeToString, escapeName, evaluateLiteral, getCapabilities, getFIDMapper, setCapabilities, setFeatureType, setFIDMapper, setSqlNameEscape, setWriter, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitBinaryComparisonOperator, visitNullFilter, writeLiteral |
Methods inherited from class Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DB2FilterToSQL
public DB2FilterToSQL(PreparedStatementSQLDialect dialect)
DB2FilterToSQL
public DB2FilterToSQL(Writer out)
getPredicateMap
public HashMap getPredicateMap()
db2Geom
public String db2Geom(Geometry geom)
- Construct a geometry from the WKT representation of a geometry
- Parameters:
geom
- the constructor for the geometry.
createFilterCapabilities
protected FilterCapabilities createFilterCapabilities()
- Sets the DB2 filter capabilities.
- Overrides:
createFilterCapabilities
in class FilterToSQL
- Returns:
- FilterCapabilities for DB2
setSelectivityClause
public void setSelectivityClause(String string)
- Sets a SELECTIVITY clause that can be included with the spatial
predicate to influence the query optimizer to exploit a spatial index
if it exists.
The parameter should be of the form:
"SELECTIVITY 0.001"
where the numeric value is the fraction of rows that will be returned
by using the index scan. This doesn't have to be true. The value
0.001 is typically used to force the use of the spatial in all cases if
the spatial index exists.
- Parameters:
string
- a selectivity clause
visit
public Object visit(DWithin filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visit
public Object visit(Beyond filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visitBinarySpatialOperator
protected Object visitBinarySpatialOperator(BinarySpatialOperator filter,
Object extraData)
- Overrides:
visitBinarySpatialOperator
in class PreparedFilterToSQL
- See Also:
FilterVisitor#visit()}
visitBinarySpatialOperator
protected Object visitBinarySpatialOperator(BinarySpatialOperator filter,
Object extraData,
String db2Predicate)
visit
public Object visit(BBOX filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visit
public Object visit(Contains filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visit
public Object visit(Crosses filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visit
public Object visit(Disjoint filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visit
public Object visit(Equals filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visit
public Object visit(Intersects filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visit
public Object visit(Overlaps filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visit
public Object visit(Touches filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visit
public Object visit(Within filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
visitLiteralGeometry
public void visitLiteralGeometry(Literal expression)
throws IOException
- Construct the appropriate geometry type from the WKT representation of a literal
expression
- Overrides:
visitLiteralGeometry
in class FilterToSQL
- Parameters:
expression
- the expression turn into a geometry constructor.
- Throws:
IOException
- Passes back exception if generated by
this.out.write()
addSelectivity
protected void addSelectivity()
throws IOException
- Throws:
IOException
visit
public Object visit(ExcludeFilter filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
- See Also:
FilterVisitor#visit(ExcludeFilter, Object)}
Writes the SQL for the IncludeFilter by writing "FALSE".
visit
public Object visit(IncludeFilter filter,
Object extraData)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class FilterToSQL
- See Also:
FilterVisitor#visit(IncludeFilter, Object)}
Writes the SQL for the IncludeFilter by writing "TRUE".
isLooseBBOXEnabled
public boolean isLooseBBOXEnabled()
setLooseBBOXEnabled
public void setLooseBBOXEnabled(boolean looseBBOXEnabled)
Copyright © 1996-2009 Geotools. All Rights Reserved.