Package org.geotools.data.postgis
Class PostgisPSFilterToSql
- Object
-
- FilterToSQL
-
- PreparedFilterToSQL
-
- PostgisPSFilterToSql
-
- All Implemented Interfaces:
ExpressionVisitor,FilterVisitor
public class PostgisPSFilterToSql extends PreparedFilterToSQL
-
-
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
Constructors Constructor Description PostgisPSFilterToSql(PostGISPSDialect dialect)PostgisPSFilterToSql(PostGISPSDialect dialect, Version pgVersion)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected FilterCapabilitiescreateFilterCapabilities()Sets the capabilities of this filter.doublegetDistanceInNativeUnits(DistanceBufferOperator operator)Rough evaluation of distance in the units of the current SRID, assuming that the SRID maps to a known EPSG code.protected StringgetFunctionName(Function function)Maps the function to the native database function namebooleanisEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope)booleanisLooseBBOXEnabled()voidsetEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope)voidsetFunctionEncodingEnabled(boolean functionEncodingEnabled)voidsetLooseBBOXEnabled(boolean looseBBOXEnabled)Objectvisit(Function function, Object extraData)Writes sql for a function expression.Objectvisit(PropertyIsBetween filter, Object extraData)Writes the SQL for the PropertyIsBetween Filter.Objectvisit(PropertyIsEqualTo filter, Object extraData)Write the SQL for this kind of filterprotected voidvisitBinaryComparisonOperator(BinaryComparisonOperator filter, Object extraData)Overrides base behavior to handler arraysprotected ObjectvisitBinarySpatialOperator(BinarySpatialOperator filter, Expression e1, Expression e2, Object extraData)Handles the more general case of two generic expressions.protected ObjectvisitBinarySpatialOperator(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 Detail
-
PostgisPSFilterToSql
public PostgisPSFilterToSql(PostGISPSDialect dialect)
-
PostgisPSFilterToSql
public PostgisPSFilterToSql(PostGISPSDialect dialect, Version pgVersion)
-
-
Method Detail
-
isLooseBBOXEnabled
public boolean isLooseBBOXEnabled()
-
setLooseBBOXEnabled
public void setLooseBBOXEnabled(boolean looseBBOXEnabled)
-
isEncodeBBOXFilterAsEnvelope
public boolean isEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope)
-
setEncodeBBOXFilterAsEnvelope
public void setEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope)
-
createFilterCapabilities
protected FilterCapabilities createFilterCapabilities()
Description copied from class:FilterToSQLSets the capabilities of this filter.- Overrides:
createFilterCapabilitiesin classFilterToSQL- Returns:
- FilterCapabilities for this Filter
-
visitBinarySpatialOperator
protected Object visitBinarySpatialOperator(BinarySpatialOperator filter, PropertyName property, Literal geometry, boolean swapped, Object extraData)
Description copied from class:FilterToSQLHandles the common case of a PropertyName,Literal geometry binary spatial operator.- Overrides:
visitBinarySpatialOperatorin classFilterToSQL
-
visitBinarySpatialOperator
protected Object visitBinarySpatialOperator(BinarySpatialOperator filter, Expression e1, Expression e2, Object extraData)
Description copied from class:FilterToSQLHandles the more general case of two generic expressions.The most common case is two PropertyName expressions, which happens during a spatial join.
- Overrides:
visitBinarySpatialOperatorin classFilterToSQL
-
setFunctionEncodingEnabled
public void setFunctionEncodingEnabled(boolean functionEncodingEnabled)
-
getFunctionName
protected String getFunctionName(Function function)
Description copied from class:FilterToSQLMaps the function to the native database function name- Overrides:
getFunctionNamein classFilterToSQL
-
getDistanceInNativeUnits
public double getDistanceInNativeUnits(DistanceBufferOperator operator)
Description copied from class:FilterToSQLRough 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:
getDistanceInNativeUnitsin classFilterToSQL
-
visit
public Object visit(Function function, Object extraData) throws RuntimeException
Description copied from class:FilterToSQLWrites 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:
visitin interfaceExpressionVisitor- Overrides:
visitin classFilterToSQL- Parameters:
function- a function expression- Throws:
RuntimeException- If an IO error occurs.- See Also:
FilterToSQL.getFunctionName(Function)
-
visitBinaryComparisonOperator
protected void visitBinaryComparisonOperator(BinaryComparisonOperator filter, Object extraData) throws RuntimeException
Overrides base behavior to handler arrays- Overrides:
visitBinaryComparisonOperatorin classFilterToSQL- Parameters:
filter- the comparison to be turned into SQL.- Throws:
RuntimeException- for io exception with writer
-
visit
public Object visit(PropertyIsBetween filter, Object extraData) throws RuntimeException
Writes the SQL for the PropertyIsBetween Filter.- Specified by:
visitin interfaceFilterVisitor- Overrides:
visitin classFilterToSQL- Parameters:
filter- the Filter to be visited.- Throws:
RuntimeException- for io exception with writer
-
visit
public Object visit(PropertyIsEqualTo filter, Object extraData)
Description copied from class:FilterToSQLWrite the SQL for this kind of filter- Specified by:
visitin interfaceFilterVisitor- Overrides:
visitin classFilterToSQL- Parameters:
filter- the filter to visitextraData- extra data (unused by this method)
-
-