Class OneGeometry<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.OneGeometry<R,G>
- Type Parameters:
R
- the type of resources (e.g.Feature
) used as inputs.G
- the implementation type of geometry objects.
- All Implemented Interfaces:
Serializable
,Function<R,
,Object> Expression<R,
,Object> Optimization.OnExpression<R,
,Object> FeatureExpression<R,
Object>
- Direct Known Subclasses:
OneGeometry.WithArgument
SQLMM spatial functions taking a single geometry operand.
This base class assume that the geometry is the only parameter.
Subclasses may add other kind of parameters.
- Since:
- 1.1
- Version:
- 1.3
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class
SQLMM spatial functions taking a single geometry operand with one argument. -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Expression
<? super R, GeometryWrapper<G>> The expression giving the geometry.private static final long
For cross-version compatibility.Fields inherited from class org.apache.sis.internal.filter.sqlmm.SpatialFunction
operation
-
Constructor Summary
ConstructorsConstructorDescriptionOneGeometry
(SQLMM operation, Expression<? super R, ?>[] parameters, Geometries<G> library) Creates a new function for a geometry represented by the given parameter. -
Method Summary
Modifier and TypeMethodDescriptionEvaluates the first expression as a geometry object, applies the operation and returns the result.(package private) final Geometries
<?> Returns a handler for the library of geometric objects used by this expression.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.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
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.sis.filter.Optimization.OnExpression
optimize
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDFor cross-version compatibility.- See Also:
-
geometry
The expression giving the geometry.
-
-
Constructor Details
-
OneGeometry
OneGeometry(SQLMM operation, Expression<? super R, ?>[] parameters, Geometries<G> library) Creates a new function for a geometry 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.- Parameters:
effective
- the expressions to use as a replacement of this expression parameters.- Returns:
- the new expression, or
this
if unsupported.
-
getGeometryLibrary
Returns a handler for the library of geometric objects used by this expression.- Specified by:
getGeometryLibrary
in classSpatialFunction<R>
- Returns:
- the geometry library (never
null
). - See Also:
-
getParameters
Returns the sub-expressions that will be evaluated to provide the parameters to the function.- Returns:
- the sub-expressions to be evaluated, or an empty list if none.
-
apply
Evaluates the first expression as a geometry object, applies the operation and returns the result.- Parameters:
input
- the object to be evaluated by the expression. Can benull
if this expression allows null values.- Returns:
- value computed by the expression.
-