Package org.geotools.data.oracle
Class OracleFilterToSQL
Object
FilterToSQL
PreparedFilterToSQL
OracleFilterToSQL
- All Implemented Interfaces:
ExpressionVisitor,FilterVisitor
Oracle specific filter encoder.
- Author:
- Justin Deoliveira, OpenGEO, Andrea Aime, OpenGEO, Davide Savazzi, GeoSolutions
-
Nested Class Summary
Nested classes/interfaces inherited from class FilterToSQL
FilterToSQL.FieldEncoder -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanWhether BBOX should be encoded as just a primary filter or primary+secondaryFields inherited from class PreparedFilterToSQL
descriptors, dialect, dimensions, literalTypes, literalValues, SRIDsFields 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 <T> voidaccumulateGeometries(List<T> collection, Geometry g, Class<? extends T> target) protected FilterCapabilitiesSets the capabilities of this filter.protected GeometrydistillSameTypeGeometries(GeometryCollection coll, Geometry original) protected voiddoSDODistance(BinarySpatialOperator filter, Expression e1, Expression e2, Object extraData) protected voiddoSDOFilter(Filter filter, Expression e1, Expression e2, Object extraData) protected voiddoSDORelate(Filter filter, Expression e1, Expression e2, boolean swapped, Object extraData) Encodes an SDO relateprotected voidencodeBinaryComparisonOperator(BinaryComparisonOperator filter, Object extraData, Expression left, Expression right, Class leftContext, Class rightContext) Encode a BinaryComparisonOperator to SQLescapeName(String name) Surrounds a name with the SQL escape string.booleanjsonExists(Function function) voidsetLooseBBOXEnabled(boolean looseBBOXEnabled) Writes sql for a function expression.visit(PropertyIsEqualTo filter, Object extraData) Write the SQL for this kind of filterprotected ObjectvisitBinarySpatialOperator(BinarySpatialOperator filter, Expression e1, Expression e2, boolean swapped, Object extraData) protected 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.protected voidvisitLiteralGeometry(Literal expression) Subclasses must implement this method in order to encode geometry filters according to the specific database implementationMethods inherited from class PreparedFilterToSQL
convertEnvelopeToPolygon, getDescriptors, getDimensions, getLiteralTypes, getLiteralValues, getSRIDs, isPrepareEnabled, setPrepareEnabled, visit, visitMethods inherited from class FilterToSQL
cast, encode, encode, encodeToString, encodeToString, escapeLiteral, evaluateLiteral, getCapabilities, getDatabaseSchema, getDistanceInNativeUnits, getExpressionType, getFeatureType, getFunctionName, 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, visitBinaryComparisonOperator, visitBinarySpatialOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitInFunction, visitLiteralTimePeriod, visitNullFilter, writeBinaryExpression, writeBinaryExpressionMember, writeLiteral
-
Field Details
-
looseBBOXEnabled
protected boolean looseBBOXEnabledWhether BBOX should be encoded as just a primary filter or primary+secondary
-
-
Constructor Details
-
OracleFilterToSQL
-
-
Method Details
-
isLooseBBOXEnabled
public boolean isLooseBBOXEnabled() -
setLooseBBOXEnabled
public void setLooseBBOXEnabled(boolean looseBBOXEnabled) -
createFilterCapabilities
Description copied from class:FilterToSQLSets the capabilities of this filter.- Overrides:
createFilterCapabilitiesin classFilterToSQL- Returns:
- FilterCapabilities for this Filter
-
visit
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)
-
visit
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- See Also:
-
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
-
visitBinarySpatialOperator
protected Object visitBinarySpatialOperator(BinarySpatialOperator filter, Expression e1, Expression e2, boolean swapped, Object extraData) -
distillSameTypeGeometries
-
accumulateGeometries
-
doSDOFilter
protected void doSDOFilter(Filter filter, Expression e1, Expression e2, Object extraData) throws IOException - Throws:
IOException
-
doSDORelate
protected void doSDORelate(Filter filter, Expression e1, Expression e2, boolean swapped, Object extraData) throws IOException Encodes an SDO relate- Throws:
IOException
-
doSDODistance
protected void doSDODistance(BinarySpatialOperator filter, Expression e1, Expression e2, Object extraData) throws IOException - Throws:
IOException
-
escapeName
Description copied from class:FilterToSQLSurrounds a name with the SQL escape string.If the name contains the SQL escape string, the SQL escape string is duplicated.
- Overrides:
escapeNamein classFilterToSQL
-
encodeBinaryComparisonOperator
protected void encodeBinaryComparisonOperator(BinaryComparisonOperator filter, Object extraData, Expression left, Expression right, Class leftContext, Class rightContext) Description copied from class:FilterToSQLEncode a BinaryComparisonOperator to SQL- Overrides:
encodeBinaryComparisonOperatorin classFilterToSQL- Parameters:
filter- the comparison operator to be turned to SQLextraData- extraDataleft- left parameter of the binary operatorright- right parameter of the binary operatorleftContext- expression type of the right parameter used as context for the left parameterrightContext- expression type of the left parameter used as context for the right parameter
-
jsonExists
-
visitLiteralGeometry
Description copied from class:FilterToSQLSubclasses must implement this method in order to encode geometry filters according to the specific database implementation- Overrides:
visitLiteralGeometryin classFilterToSQL- Throws:
IOException
-