Package org.h2gis.geotools
Class H2GISFilterToSQL
Object
FilterToSQL
H2GISFilterToSQL
- All Implemented Interfaces:
ExpressionVisitor
,FilterVisitor
jdbc-h2gis is an extension to connect H2GIS a spatial library that brings spatial support to the H2 Java database.
H2GIS filter wrapper for H2GIS database.
- Author:
- Erwan Bocher
-
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, escapeBackslash, featureType, fieldEncoder, filterFactory, inEncodingEnabled, inline, IO_ERROR, LOGGER, out, primaryKey, sqlNameEscape
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected String
Gives the opportunity to subclasses to force the property to the desired type.protected FilterCapabilities
Sets the capabilities of this filter.protected String
getFunctionName
(Function function) Maps the function to the native database function namevoid
setFunctionEncodingEnabled
(boolean functionEncodingEnabled) 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 implementationMethods inherited from class FilterToSQL
encode, encode, encodeBinaryComparisonOperator, encodeToString, encodeToString, escapeLiteral, escapeName, evaluateLiteral, getCapabilities, getDatabaseSchema, getDistanceInNativeUnits, getExpressionType, getFeatureType, getFunctionReturnType, getParameter, getPrimaryKey, getSqlNameEscape, isBinaryExpression, isEscapeBackslash, isInEncodingEnabled, processLikeLeftOperand, setCapabilities, setDatabaseSchema, setEscapeBackslash, setFeatureType, setFieldEncoder, setInEncodingEnabled, 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, visit, visitBinaryComparisonOperator, visitBinarySpatialOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitInFunction, visitLiteralTimePeriod, visitNullFilter, writeBinaryExpression, writeBinaryExpressionMember, writeLiteral
-
Constructor Details
-
H2GISFilterToSQL
public H2GISFilterToSQL()
-
-
Method Details
-
visitLiteralGeometry
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 classFilterToSQL
- Throws:
IOException
-
createFilterCapabilities
Description copied from class:FilterToSQL
Sets the capabilities of this filter.- Overrides:
createFilterCapabilities
in classFilterToSQL
- 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 classFilterToSQL
-
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 classFilterToSQL
-
visit
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 interfaceExpressionVisitor
- Overrides:
visit
in classFilterToSQL
- Parameters:
function
- a function expression- Throws:
RuntimeException
- If an IO error occurs.- See Also:
-
getFunctionName
Description copied from class:FilterToSQL
Maps the function to the native database function name- Overrides:
getFunctionName
in classFilterToSQL
-
cast
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 classFilterToSQL
-
setFunctionEncodingEnabled
public void setFunctionEncodingEnabled(boolean functionEncodingEnabled) - Parameters:
functionEncodingEnabled
-
-