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 longFor cross-version compatibility.Fields inherited from class org.apache.sis.internal.filter.sqlmm.TwoGeometries
geometry1, geometry2Fields 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, optimizeMethods inherited from class org.apache.sis.internal.filter.sqlmm.SpatialFunction
expectedType, getChildren, getFunctionName, getSyntax, getValueClass, toValueTypeMethods 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:
recreatein interfaceOptimization.OnExpression<R,G> - Overrides:
recreatein classTwoGeometries<R,G> - Parameters:
effective- the expressions to use as a replacement of this expression parameters.- Returns:
- the new expression, or
thisif unsupported.
-
getParameters
Returns the sub-expressions that will be evaluated to provide the parameters to the function.- Specified by:
getParametersin interfaceExpression<R,G> - Overrides:
getParametersin 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:
applyin interfaceExpression<R,G> - Specified by:
applyin interfaceFunction<R,G> - Overrides:
applyin classTwoGeometries<R,G> - Parameters:
input- the object to be evaluated by the expression. Can benullif this expression allows null values.- Returns:
- value computed by the expression.
-