public class PostgisFilterToSQL extends FilterToSQL
FilterToSQL.FieldEncoder
Modifier and Type | Field and Description |
---|---|
protected PostGISDialect |
pgDialect |
capabilities, currentDimension, currentGeometry, currentSRID, databaseSchema, encodingFunction, featureType, fieldEncoder, filterFactory, inEncodingEnabled, inline, IO_ERROR, LOGGER, mapper, out, primaryKey
Constructor and Description |
---|
PostgisFilterToSQL(PostGISDialect dialect) |
Modifier and Type | Method and Description |
---|---|
protected String |
cast(String encodedProperty,
Class target)
Gives the opportunity to subclasses to force the property to the desired type.
|
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(Literal literal,
Object extraData)
Export the contents of a Literal Expresion
|
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.
|
protected void |
visitLiteralGeometry(Literal expression)
Subclasses must implement this method in order to encode geometry filters according to the
specific database implementation
|
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, visit, visitBinarySpatialOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitInFunction, visitLiteralTimePeriod, visitNullFilter, writeBinaryExpression, writeBinaryExpressionMember, writeLiteral
protected PostGISDialect pgDialect
public PostgisFilterToSQL(PostGISDialect dialect)
public boolean isLooseBBOXEnabled()
public void setLooseBBOXEnabled(boolean looseBBOXEnabled)
public boolean isEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope)
public void setEncodeBBOXFilterAsEnvelope(boolean encodeBBOXFilterAsEnvelope)
protected void visitLiteralGeometry(Literal expression) throws IOException
FilterToSQL
visitLiteralGeometry
in class FilterToSQL
IOException
- DOCUMENT ME!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 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)
public Object visit(Literal literal, Object extraData)
FilterToSQL
visit
in interface ExpressionVisitor
visit
in class FilterToSQL
literal
- the Literal to exportprotected String getFunctionName(Function function)
FilterToSQL
getFunctionName
in class FilterToSQL
protected String cast(String encodedProperty, Class target) throws IOException
FilterToSQL
cast
in class FilterToSQL
IOException
public void setFunctionEncodingEnabled(boolean functionEncodingEnabled)
public double getDistanceInMeters(DistanceBufferOperator operator)
FilterToSQL
getDistanceInMeters
in class FilterToSQL
public double getDistanceInNativeUnits(DistanceBufferOperator operator)
FilterToSQL
getDistanceInNativeUnits
in class FilterToSQL
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.