# Uses of Interface
org.apache.sis.filter.Expression

Packages that use Expression
Package
Description
org.apache.sis.feature
Defines the structure and content of views of real-world phenomenon.
org.apache.sis.filter
Filters features according their properties.
org.apache.sis.storage
Data store base types for retrieving and saving geospatial data in various storage formats.

- ## Uses of Expression in org.apache.sis.feature

  Methods in org.apache.sis.feature that return Expression
  Modifier and Type
  Method
  Description
  `static Expression<? super AbstractFeature, ?>`
  FeatureOperations.`expressionOf(AbstractIdentifiedType property)`
  Returns an expression for fetching the values of properties identified by the given type.
  Methods in org.apache.sis.feature with parameters of type Expression
  Modifier and Type
  Method
  Description
  `static <V> AbstractOperation`
  FeatureOperations.`expression(Map<String,?> identification, Expression<? super AbstractFeature, ?> expression, DefaultAttributeType<V> resultType)`
  Creates an operation which delegates the computation to a given expression producing values of unknown type.
  `static AbstractOperation`
  FeatureOperations.`replace(AbstractIdentifiedType property, Expression<? super AbstractFeature, ?> expression)`
  Creates an operation with the same identification and result type than the given operation, but evaluated using the given expression.

- ## Uses of Expression in org.apache.sis.filter

  Subinterfaces of Expression in org.apache.sis.filter
  Modifier and Type
  Interface
  Description
  `static interface`
  `Optimization.OnExpression<R,V>`
  Expression that can be optimized.
  Methods in org.apache.sis.filter that return Expression
  Modifier and Type
  Method
  Description
  `Expression<R,Number>`
  DefaultFilterFactory.`add(Expression<R, ? extends Number> operand1, Expression<R, ? extends Number> operand2)`
  Creates a function computing the numeric addition of the first and second operand.
  `<R,V> Expression<R, ? extends V>`
  Optimization.`apply(Expression<R, ? extends V> expression)`
  Optimizes or simplifies the given expression.
  `<R> Expression<R,?>`
  FunctionRegister.`create(String name, Expression<R,?>[] parameters)`
  Creates a new function of the given name with the given parameters.
  `Expression<R,Number>`
  DefaultFilterFactory.`divide(Expression<R, ? extends Number> operand1, Expression<R, ? extends Number> operand2)`
  Creates a function computing the numeric quotient resulting from dividing the first operand by the second.
  `Expression<R,?>`
  DefaultFilterFactory.`function(String name, Expression<? super R, ?> parameter)`
  Creates an implementation-specific function with a single parameter.
  `Expression<R,?>`
  DefaultFilterFactory.`function(String name, Expression<? super R, ?> param1, Expression<? super R, ?> param2)`
  Creates an implementation-specific function with two parameters.
  `Expression<R,?>`
  DefaultFilterFactory.`function(String name, Expression<R,?>[] parameters)`
  Creates an implementation-specific function.
  `<V> Expression<R,V>`
  DefaultFilterFactory.`literal(V value)`
  Creates a constant, literal value that can be used in expressions.
  `static <R,V> Expression<R,V>`
  Optimization.`literal(V value)`
  Creates a constant, literal value that can be used in expressions.
  `Expression<R,Number>`
  DefaultFilterFactory.`multiply(Expression<R, ? extends Number> operand1, Expression<R, ? extends Number> operand2)`
  Creates a function computing the numeric product of their first and second operand.
  `default Expression<R, ? extends V>`
  Optimization.OnExpression.`optimize(Optimization optimization)`
  Tries to optimize this expression.
  `<V> Expression<AbstractFeature, V>`
  DefaultFilterFactory.Features.`property(String xpath, Class<V> type)`
  Creates an expression whose value is computed by retrieving the value indicated by a path in a resource.
  `Expression<R,?>`
  DefaultFilterFactory.`property(String xpath)`
  Creates an expression whose value is computed by retrieving the value indicated by a path in a resource.
  `abstract <V> Expression<R,V>`
  DefaultFilterFactory.`property(String xpath, Class<V> type)`
  Creates an expression retrieving the value as an instance of the specified class.
  `default Expression<R,V>`
  Optimization.OnExpression.`recreate(Expression<R,?>[] effective)`
  Creates a new expression of the same type as this expression, but with optimized parameters.
  `Expression<R,Number>`
  DefaultFilterFactory.`subtract(Expression<R, ? extends Number> operand1, Expression<R, ? extends Number> operand2)`
  Creates a function computing the numeric difference between the first and second operand.
  `<N> Expression<R,N>`
  Expression.`toValueType(Class<N> type)`
  Returns an expression doing the same evaluation than this method, but returning results as values of the specified type.
  Methods in org.apache.sis.filter that return types with arguments of type Expression
  Modifier and Type
  Method
  Description
  `List<Expression<R,?>>`
  Filter.`getExpressions()`
  Returns the expressions used as arguments for this filter.
  `List<Expression<R,?>>`
  Expression.`getParameters()`
  Returns the list sub-expressions that will be evaluated to provide the parameters to the function.
  Methods in org.apache.sis.filter with parameters of type Expression
  Modifier and Type
  Method
  Description
  `Expression<R,Number>`
  DefaultFilterFactory.`add(Expression<R, ? extends Number> operand1, Expression<R, ? extends Number> operand2)`
  Creates a function computing the numeric addition of the first and second operand.
  `Filter<R>`
  DefaultFilterFactory.`after(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand is after the second.
  `Filter<R>`
  DefaultFilterFactory.`anyInteracts(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates a shortcut operator semantically equivalent to NOT (Before OR Meets OR MetBy OR After).
  `<R,V> Expression<R, ? extends V>`
  Optimization.`apply(Expression<R, ? extends V> expression)`
  Optimizes or simplifies the given expression.
  `Filter<R>`
  DefaultFilterFactory.`bbox(Expression<R, ? extends G> geometry, Envelope bounds)`
  Creates an operator that checks if the bounding box of the feature's geometry interacts with the bounding box provided in the filter properties.
  `Filter<R>`
  DefaultFilterFactory.`before(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand is before the second.
  `Filter<R>`
  DefaultFilterFactory.`begins(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand begins at the second.
  `Filter<R>`
  DefaultFilterFactory.`begunBy(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand begun by the second.
  `Filter<R>`
  DefaultFilterFactory.`between(Expression<R,?> expression, Expression<R,?> lowerBoundary, Expression<R,?> upperBoundary)`
  Filter operation for a range check.
  `Filter<R>`
  DefaultFilterFactory.`beyond(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2, Quantity<Length> distance)`
  Creates an operator that checks if all of a feature's geometry is more distant than the given distance from the given geometry.
  `Filter<R>`
  DefaultFilterFactory.`contains(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2)`
  Creates an operator that checks if the first geometric operand contains the second.
  `<R> Expression<R,?>`
  FunctionRegister.`create(String name, Expression<R,?>[] parameters)`
  Creates a new function of the given name with the given parameters.
  `Filter<R>`
  DefaultFilterFactory.`crosses(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2)`
  Creates an operator that checks if the first geometric operand crosses the second.
  `Filter<R>`
  DefaultFilterFactory.`disjoint(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2)`
  Creates an operator that checks if the first operand is disjoint from the second.
  `Expression<R,Number>`
  DefaultFilterFactory.`divide(Expression<R, ? extends Number> operand1, Expression<R, ? extends Number> operand2)`
  Creates a function computing the numeric quotient resulting from dividing the first operand by the second.
  `Filter<R>`
  DefaultFilterFactory.`during(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand is during the second.
  `Filter<R>`
  DefaultFilterFactory.`endedBy(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand is ended by the second.
  `Filter<R>`
  DefaultFilterFactory.`ends(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand ends at the second.
  `Filter<R>`
  DefaultFilterFactory.`equal(Expression<R,?> expression1, Expression<R,?> expression2)`
  Filter operator that compares that two sub-expressions are equal to each other.
  `Filter<R>`
  DefaultFilterFactory.`equals(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2)`
  Creates an operator that checks if the geometry of the two operands are equal.
  `Optional<CoordinateReferenceSystem>`
  Optimization.`findExpectedCRS(Expression<?,?> parameter)`
  If the specified parameter should always use the same Coordinate Reference System, returns that CRS.
  `Expression<R,?>`
  DefaultFilterFactory.`function(String name, Expression<? super R, ?> parameter)`
  Creates an implementation-specific function with a single parameter.
  `Expression<R,?>`
  DefaultFilterFactory.`function(String name, Expression<? super R, ?> param1, Expression<? super R, ?> param2)`
  Creates an implementation-specific function with two parameters.
  `Expression<R,?>`
  DefaultFilterFactory.`function(String name, Expression<R,?>[] parameters)`
  Creates an implementation-specific function.
  `Filter<R>`
  DefaultFilterFactory.`greater(Expression<R,?> expression1, Expression<R,?> expression2)`
  Filter operator that checks that its first sub-expression is greater than its second sub-expression.
  `Filter<R>`
  DefaultFilterFactory.`greaterOrEqual(Expression<R,?> expression1, Expression<R,?> expression2)`
  Filter operator that checks that its first sub-expression is greater than its second sub-expression.
  `Filter<R>`
  DefaultFilterFactory.`intersects(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2)`
  Creates an operator that checks if the two geometric operands intersect.
  `Filter<R>`
  DefaultFilterFactory.`isNil(Expression<R,?> expression, String nilReason)`
  An operator that tests if an expression's value is nil.
  `Filter<R>`
  DefaultFilterFactory.`isNull(Expression<R,?> expression)`
  An operator that tests if an expression's value is `null`.
  `Filter<R>`
  DefaultFilterFactory.`less(Expression<R,?> expression1, Expression<R,?> expression2)`
  Filter operator that checks that its first sub-expression is less than its second sub-expression.
  `Filter<R>`
  DefaultFilterFactory.`lessOrEqual(Expression<R,?> expression1, Expression<R,?> expression2)`
  Filter operator that checks that its first sub-expression is less than or equal to its second sub-expression.
  `Filter<R>`
  DefaultFilterFactory.`like(Expression<R,?> expression, String pattern)`
  Character string comparison operator with pattern matching and default wildcards.
  `Filter<R>`
  DefaultFilterFactory.`like(Expression<R,?> expression, String pattern, char wildcard, char singleChar, char escape, boolean isMatchingCase)`
  Character string comparison operator with pattern matching and specified wildcards.
  `Filter<R>`
  DefaultFilterFactory.`meets(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand meets the second.
  `Filter<R>`
  DefaultFilterFactory.`metBy(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand is met by the second.
  `Expression<R,Number>`
  DefaultFilterFactory.`multiply(Expression<R, ? extends Number> operand1, Expression<R, ? extends Number> operand2)`
  Creates a function computing the numeric product of their first and second operand.
  `Filter<R>`
  DefaultFilterFactory.`notEqual(Expression<R,?> expression1, Expression<R,?> expression2)`
  Filter operator that compares that its two sub-expressions are not equal to each other.
  `Filter<R>`
  DefaultFilterFactory.`overlappedBy(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand is overlapped by the second.
  `Filter<R>`
  DefaultFilterFactory.`overlaps(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2)`
  Creates an operator that checks if the interior of the first geometric operand somewhere overlaps the interior of the second geometric operand.
  `static Set<FunctionProperty>`
  Optimization.`properties(Expression<?,?> expression)`
  Returns the manner in which values are computed from resources given to the specified expression.
  `default Expression<R,V>`
  Optimization.OnExpression.`recreate(Expression<R,?>[] effective)`
  Creates a new expression of the same type as this expression, but with optimized parameters.
  `default Filter<R>`
  Optimization.OnFilter.`recreate(Expression<R,?>[] effective)`
  Creates a new filter of the same type and parameters than this filter, except for the expressions.
  `Expression<R,Number>`
  DefaultFilterFactory.`subtract(Expression<R, ? extends Number> operand1, Expression<R, ? extends Number> operand2)`
  Creates a function computing the numeric difference between the first and second operand.
  `Filter<R>`
  DefaultFilterFactory.`tcontains(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand is contained by the second.
  `Filter<R>`
  DefaultFilterFactory.`tequals(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand is equal to the second.
  `Filter<R>`
  DefaultFilterFactory.`touches(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2)`
  Creates an operator that checks if the two geometric operands touch each other, but do not overlap.
  `Filter<R>`
  DefaultFilterFactory.`toverlaps(Expression<R, ? extends T> time1, Expression<R, ? extends T> time2)`
  Creates an operator that checks if first temporal operand overlaps the second.
  `Filter<R>`
  DefaultFilterFactory.`within(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2)`
  Creates an operator that checks if the first geometric operand is completely contained by the constant geometric operand.
  `Filter<R>`
  DefaultFilterFactory.`within(Expression<R, ? extends G> geometry1, Expression<R, ? extends G> geometry2, Quantity<Length> distance)`
  Creates an operator that checks if any part of the first geometry lies within the given distance of the second geometry.

- ## Uses of Expression in org.apache.sis.storage

  Methods in org.apache.sis.storage that return Expression
  Modifier and Type
  Method
  Description
  `Expression<? super AbstractFeature, ?>`
  FeatureQuery.NamedExpression.`expression()`
  The literal, value reference or more complex expression to be retrieved by a `Query`.
  Methods in org.apache.sis.storage with parameters of type Expression
  Modifier and Type
  Method
  Description
  `final void`
  FeatureQuery.`setProjection(Expression<? super AbstractFeature, ?>... properties)`
  Sets the properties to retrieve, or `null` if all properties shall be included in the query.
  Constructors in org.apache.sis.storage with parameters of type Expression
  Modifier
  Constructor
  Description
  ``
  `NamedExpression(Expression<? super AbstractFeature, ?> expression)`
  Creates a new stored column with the given expression and no name.
  ``
  `NamedExpression(Expression<? super AbstractFeature, ?> expression, String alias)`
  Creates a new stored column with the given expression and the given name.
  ``
  `NamedExpression(Expression<? super AbstractFeature, ?> expression, GenericName alias)`
  Creates a new stored column with the given expression and the given name.
  ``
  `NamedExpression(Expression<? super AbstractFeature, ?> expression, GenericName alias, FeatureQuery.ProjectionType type)`
  Creates a new column with the given expression, the given name and the given projection type.