public class PostgisPSFilterToSql extends PreparedFilterToSQL
FilterToSQL.FieldEncoder
descriptors, dialect, dimensions, literalTypes, literalValues, SRIDs
capabilities, currentDimension, currentGeometry, currentSRID, databaseSchema, encodingFunction, featureType, fieldEncoder, filterFactory, inEncodingEnabled, inline, IO_ERROR, LOGGER, mapper, out, primaryKey
Constructor and Description |
---|
PostgisPSFilterToSql(PostGISPSDialect dialect) |
Modifier and Type | Method and Description |
---|---|
protected FilterCapabilities |
createFilterCapabilities()
Sets the capabilities of this filter.
|
double |
getDistanceInMeters(DistanceBufferOperator operator)
Converts the distance of the operator in meters, or returns the current value if there is no
units distance
|
double |
getDistanceInNativeUnits(DistanceBufferOperator operator)
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 name
|
boolean |
isEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope) |
boolean |
isLooseBBOXEnabled() |
void |
setEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope) |
void |
setFunctionEncodingEnabled(boolean functionEncodingEnabled) |
void |
setLooseBBOXEnabled(boolean looseBBOXEnabled) |
Object |
visit(Function function,
Object extraData)
Writes sql for a function expression.
|
Object |
visit(PropertyIsBetween filter,
Object extraData)
Writes the SQL for the PropertyIsBetween Filter.
|
Object |
visit(PropertyIsEqualTo filter,
Object extraData)
Write the SQL for this kind of filter
|
protected void |
visitBinaryComparisonOperator(BinaryComparisonOperator filter,
Object extraData)
Overrides base behavior to handler arrays
|
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.
|
getDescriptors, getDimensions, getLiteralTypes, getLiteralValues, getSRIDs, isPrepareEnabled, setPrepareEnabled, visit, visit
cast, encode, encode, encodeToString, encodeToString, escapeName, evaluateLiteral, getCapabilities, getDatabaseSchema, getExpressionType, getFeatureType, getFIDMapper, getFunctionReturnType, getParameter, getPrimaryKey, getReferenceGeometryCentroid, isBinaryExpression, isInEncodingEnabled, setCapabilities, setDatabaseSchema, setFeatureType, setFIDMapper, 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
public PostgisPSFilterToSql(PostGISPSDialect dialect)
public boolean isLooseBBOXEnabled()
public void setLooseBBOXEnabled(boolean looseBBOXEnabled)
public boolean isEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope)
public void setEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope)
protected FilterCapabilities createFilterCapabilities()
FilterToSQL
createFilterCapabilities
in class FilterToSQL
protected Object visitBinarySpatialOperator(BinarySpatialOperator filter, PropertyName property, Literal geometry, boolean swapped, Object extraData)
FilterToSQL
visitBinarySpatialOperator
in class FilterToSQL
protected Object visitBinarySpatialOperator(BinarySpatialOperator filter, Expression e1, Expression e2, Object extraData)
FilterToSQL
The most common case is two PropertyName expressions, which happens during a spatial join.
visitBinarySpatialOperator
in class FilterToSQL
public void setFunctionEncodingEnabled(boolean functionEncodingEnabled)
protected String getFunctionName(Function function)
FilterToSQL
getFunctionName
in class FilterToSQL
public double getDistanceInMeters(DistanceBufferOperator operator)
FilterToSQL
getDistanceInMeters
in class FilterToSQL
public double getDistanceInNativeUnits(DistanceBufferOperator operator)
FilterToSQL
getDistanceInNativeUnits
in class FilterToSQL
public Object visit(Function function, Object extraData) throws RuntimeException
FilterToSQL
visit
in interface ExpressionVisitor
visit
in class FilterToSQL
RuntimeException
- If an IO error occurs.FilterToSQL.getFunctionName(Function)
protected void visitBinaryComparisonOperator(BinaryComparisonOperator filter, Object extraData) throws RuntimeException
visitBinaryComparisonOperator
in class FilterToSQL
filter
- the comparison to be turned into SQL.extraData
- RuntimeException
public Object visit(PropertyIsBetween filter, Object extraData) throws RuntimeException
visit
in interface FilterVisitor
visit
in class FilterToSQL
filter
- the Filter to be visited.RuntimeException
- for io exception with writerpublic Object visit(PropertyIsEqualTo filter, Object extraData)
FilterToSQL
visit
in interface FilterVisitor
visit
in class FilterToSQL
filter
- the filter to visitextraData
- extra data (unused by this method)Copyright © 1996–2019 Geotools. All rights reserved.