Class TwoGeometries.WithArgument<R,G>
java.lang.Object
org.apache.sis.internal.filter.Node
org.apache.sis.internal.filter.sqlmm.SpatialFunction<R>
org.apache.sis.internal.filter.sqlmm.TwoGeometries<R,G>
org.apache.sis.internal.filter.sqlmm.TwoGeometries.WithArgument<R,G>
- All Implemented Interfaces:
Serializable
,Function<R,
,Object> Expression<R,
,Object> Optimization.OnExpression<R,
,Object> FeatureExpression<R,
Object>
- Enclosing class:
TwoGeometries<R,
G>
SQLMM spatial functions taking a single geometry operand with one argument.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sis.internal.filter.sqlmm.TwoGeometries
TwoGeometries.WithArgument<R,
G> -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Expression
<? super R, ?> The first argument after the geometries.private static final long
For cross-version compatibility.Fields inherited from class org.apache.sis.internal.filter.sqlmm.TwoGeometries
geometry1, geometry2
Fields inherited from class org.apache.sis.internal.filter.sqlmm.SpatialFunction
operation
-
Constructor Summary
ConstructorsConstructorDescriptionWithArgument
(SQLMM operation, Expression<? super R, ?>[] parameters, Geometries<G> library) Creates a new function for geometries represented by the given parameter. -
Method Summary
Modifier and TypeMethodDescriptionEvaluates the two first expressions as geometry objects, applies the operation and returns the result.List
<Expression<? super R, ?>> Returns the sub-expressions that will be evaluated to provide the parameters to the function.recreate
(Expression<? super R, ?>[] effective) Creates a new expression of the same type than this expression, but with an optimized geometry.Methods inherited from class org.apache.sis.internal.filter.sqlmm.TwoGeometries
getGeometryLibrary, optimize
Methods inherited from class org.apache.sis.internal.filter.sqlmm.SpatialFunction
expectedType, getChildren, getFunctionName, getSyntax, getValueClass, toValueType
Methods inherited from class org.apache.sis.internal.filter.Node
createName, createType, equals, getGeometryLibrary, hashCode, symbol, toGeometryWrapper, toString, unwrap, warning
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDFor cross-version compatibility.- See Also:
-
argument
The first argument after the geometries.
-
-
Constructor Details
-
WithArgument
WithArgument(SQLMM operation, Expression<? super R, ?>[] parameters, Geometries<G> library) Creates a new function for geometries represented by the given parameter.
-
-
Method Details
-
recreate
Creates a new expression of the same type than this expression, but with an optimized geometry. The optimization may be a geometry computed immediately if all operator parameters are literals.- Specified by:
recreate
in interfaceOptimization.OnExpression<R,
G> - Overrides:
recreate
in classTwoGeometries<R,
G> - Parameters:
effective
- the expressions to use as a replacement of this expression parameters.- Returns:
- the new expression, or
this
if unsupported.
-
getParameters
Returns the sub-expressions that will be evaluated to provide the parameters to the function.- Specified by:
getParameters
in interfaceExpression<R,
G> - Overrides:
getParameters
in classTwoGeometries<R,
G> - Returns:
- the sub-expressions to be evaluated, or an empty list if none.
-
apply
Evaluates the two first expressions as geometry objects, applies the operation and returns the result.- Specified by:
apply
in interfaceExpression<R,
G> - Specified by:
apply
in interfaceFunction<R,
G> - Overrides:
apply
in classTwoGeometries<R,
G> - Parameters:
input
- the object to be evaluated by the expression. Can benull
if this expression allows null values.- Returns:
- value computed by the expression.
-