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 classSQLMM 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 longFor 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, toValueTypeMethods inherited from class org.apache.sis.internal.filter.Node
createName, createType, equals, getGeometryLibrary, hashCode, symbol, toGeometryWrapper, toString, unwrap, warningMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods 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
thisif unsupported.
-
getGeometryLibrary
Returns a handler for the library of geometric objects used by this expression.- Specified by:
getGeometryLibraryin 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 benullif this expression allows null values.- Returns:
- value computed by the expression.
-