Package org.geotools.data.postgis
Class PostgisPSFilterToSql
Object
FilterToSQL
PreparedFilterToSQL
PostgisPSFilterToSql
- All Implemented Interfaces:
ExpressionVisitor
,FilterVisitor
-
Nested Class Summary
Nested classes/interfaces inherited from class FilterToSQL
FilterToSQL.FieldEncoder
-
Field Summary
Fields inherited from class PreparedFilterToSQL
descriptors, dialect, dimensions, literalTypes, literalValues, SRIDs
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
ConstructorsConstructorDescriptionPostgisPSFilterToSql
(PostGISPSDialect dialect) PostgisPSFilterToSql
(PostGISPSDialect dialect, Version pgVersion) -
Method Summary
Modifier and TypeMethodDescriptionprotected FilterCapabilities
Sets the capabilities of this filter.double
Rough evaluation of distance in the units of the current SRID, assuming that the SRID maps to a known EPSG code.protected String
getFunctionName
(Function function) Maps the function to the native database function nameboolean
isEncodeBBOXFilterAsEnvelope
(boolean encodeBBOXFilterAsEnvelope) boolean
void
setEncodeBBOXFilterAsEnvelope
(boolean encodeBBOXFilterAsEnvelope) void
setFunctionEncodingEnabled
(boolean functionEncodingEnabled) void
setLooseBBOXEnabled
(boolean looseBBOXEnabled) Writes sql for a function expression.visit
(PropertyIsBetween filter, Object extraData) Writes the SQL for the PropertyIsBetween Filter.visit
(PropertyIsEqualTo filter, Object extraData) Write the SQL for this kind of filterprotected void
visitBinaryComparisonOperator
(BinaryComparisonOperator filter, Object extraData) Overrides base behavior to handler arraysprotected 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
convertEnvelopeToPolygon, getDescriptors, getDimensions, getLiteralTypes, getLiteralValues, getSRIDs, isPrepareEnabled, setPrepareEnabled, visit, visit
Methods inherited from class FilterToSQL
cast, encode, encode, encodeBinaryComparisonOperator, encodeToString, encodeToString, escapeLiteral, escapeName, evaluateLiteral, getCapabilities, getDatabaseSchema, 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, visitBinarySpatialOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitInFunction, visitLiteralGeometry, visitLiteralTimePeriod, visitNullFilter, writeBinaryExpression, writeBinaryExpressionMember, writeLiteral
-
Constructor Details
-
PostgisPSFilterToSql
-
PostgisPSFilterToSql
-
-
Method Details
-
isLooseBBOXEnabled
public boolean isLooseBBOXEnabled() -
setLooseBBOXEnabled
public void setLooseBBOXEnabled(boolean looseBBOXEnabled) -
isEncodeBBOXFilterAsEnvelope
public boolean isEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope) -
setEncodeBBOXFilterAsEnvelope
public void setEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope) -
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
-
setFunctionEncodingEnabled
public void setFunctionEncodingEnabled(boolean functionEncodingEnabled) -
getFunctionName
Description copied from class:FilterToSQL
Maps the function to the native database function name- Overrides:
getFunctionName
in classFilterToSQL
-
getDistanceInNativeUnits
Description copied from class:FilterToSQL
Rough evaluation of distance in the units of the current SRID, assuming that the SRID maps to a known EPSG code. Will use a rather imprecise transformation for distances over degrees, but better than nothing.- Overrides:
getDistanceInNativeUnits
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:
-
visitBinaryComparisonOperator
protected void visitBinaryComparisonOperator(BinaryComparisonOperator filter, Object extraData) throws RuntimeException Overrides base behavior to handler arrays- Overrides:
visitBinaryComparisonOperator
in classFilterToSQL
- Parameters:
filter
- the comparison to be turned into SQL.- Throws:
RuntimeException
- for io exception with writer
-
visit
Writes the SQL for the PropertyIsBetween Filter.- Specified by:
visit
in interfaceFilterVisitor
- Overrides:
visit
in classFilterToSQL
- Parameters:
filter
- the Filter to be visited.- Throws:
RuntimeException
- for io exception with writer
-
visit
Description copied from class:FilterToSQL
Write the SQL for this kind of filter- Specified by:
visit
in interfaceFilterVisitor
- Overrides:
visit
in classFilterToSQL
- Parameters:
filter
- the filter to visitextraData
- extra data (unused by this method)
-