Package org.apache.sis.filter
Class DefaultFilterFactory<R,G,T>  
Object
AbstractFactory
DefaultFilterFactory<R,G,T>  
- Type Parameters:
- R- the type of resources (e.g.- AbstractFeature) to use as inputs.
- G- base class of geometry objects. The implementation-neutral type is GeoAPI- Geometry, but this factory allows the use of other implementations such as JTS- Geometryor ESRI- Geometry.
- T- base class of temporal objects.
- All Implemented Interfaces:
- Factory
- Direct Known Subclasses:
- DefaultFilterFactory.Features
A factory of default 
Filter and Expression implementations.
 This base class operates on resources of arbitrary type <R>.
 Concrete subclass operates on resources of specific type such as AbstractFeature.
 Upcoming API change
In a future version, all
In a future version, all
Filter and Expression parameters may be replaced by parameters
 of the same names but from the org.opengis.filter package instead of org.apache.sis.filter.
 This change is pending next GeoAPI release.
 In addition, return types may become more specialized types.
 - Since:
- 1.1
Defined in the sis-feature module
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic classA filter factory operating onAbstractFeatureinstances.
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedDefaultFilterFactory(Class<G> spatial, Class<T> temporal, WraparoundMethod wraparound) Creates a new factory for geometries and temporal objects of the given types.
- 
Method SummaryModifier and TypeMethodDescriptionadd(Expression<? super R, ? extends Number> operand1, Expression<? super R, ? extends Number> operand2) Creates a function computing the numeric addition of the first and second operand.after(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is after the second.and(Collection<? extends Filter<? super R>> operands) Creates aANDfilter between two or more filters.Creates aANDfilter between two filters.anyInteracts(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates a shortcut operator semantically equivalent to NOT (Before OR Meets OR MetBy OR After).bbox(Expression<? super 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.before(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is before the second.begins(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand begins at the second.begunBy(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand begun by the second.between(Expression<? super R, ?> expression, Expression<? super R, ?> lowerBoundary, Expression<? super R, ?> upperBoundary) Filter operation for a range check.beyond(Expression<? super R, ? extends G> geometry1, Expression<? super 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.contains(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the first geometric operand contains the second.crosses(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the first geometric operand crosses the second.disjoint(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the first operand is disjoint from the second.divide(Expression<? super R, ? extends Number> operand1, Expression<? super R, ? extends Number> operand2) Creates a function computing the numeric quotient resulting from dividing the first operand by the second.during(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is during the second.endedBy(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is ended by the second.ends(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand ends at the second.equal(Expression<? super R, ?> expression1, Expression<? super R, ?> expression2) Filter operator that compares that two sub-expressions are equal to each other.equals(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the geometry of the two operands are equal.Returns a factory operating onAbstractFeatureinstances.Expression<R,?> function(String name, Expression<? super R, ?> parameter) Creates an implementation-specific function with a single parameter.Expression<R,?> function(String name, Expression<? super R, ?>[] parameters) Creates an implementation-specific function.Expression<R,?> function(String name, Expression<? super R, ?> param1, Expression<? super R, ?> param2) Creates an implementation-specific function with two parameters.greater(Expression<? super R, ?> expression1, Expression<? super R, ?> expression2) Filter operator that checks that its first sub-expression is greater than its second sub-expression.greaterOrEqual(Expression<? super R, ?> expression1, Expression<? super R, ?> expression2) Filter operator that checks that its first sub-expression is greater than its second sub-expression.intersects(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the two geometric operands intersect.isNil(Expression<? super R, ?> expression, String nilReason) An operator that tests if an expression's value is nil.isNull(Expression<? super R, ?> expression) An operator that tests if an expression's value isnull.less(Expression<? super R, ?> expression1, Expression<? super R, ?> expression2) Filter operator that checks that its first sub-expression is less than its second sub-expression.lessOrEqual(Expression<? super R, ?> expression1, Expression<? super R, ?> expression2) Filter operator that checks that its first sub-expression is less than or equal to its second sub-expression.like(Expression<? super R, ?> expression, String pattern) Character string comparison operator with pattern matching and default wildcards.like(Expression<? super R, ?> expression, String pattern, char wildcard, char singleChar, char escape, boolean isMatchingCase) Character string comparison operator with pattern matching and specified wildcards.<V> Expression<R,V> literal(V value) Creates a constant, literal value that can be used in expressions.meets(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand meets the second.metBy(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is met by the second.multiply(Expression<? super R, ? extends Number> operand1, Expression<? super R, ? extends Number> operand2) Creates a function computing the numeric product of their first and second operand.Creates aNOTfilter for the given filter.notEqual(Expression<? super R, ?> expression1, Expression<? super R, ?> expression2) Filter operator that compares that its two sub-expressions are not equal to each other.or(Collection<? extends Filter<? super R>> operands) Creates aORfilter between two or more filters.Creates aORfilter between two filters.overlappedBy(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is overlapped by the second.overlaps(Expression<? super R, ? extends G> geometry1, Expression<? super 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.Expression<R,?> Creates an expression whose value is computed by retrieving the value indicated by a path in a resource.abstract <V> Expression<R,V> Creates an expression retrieving the value as an instance of the specified class.resourceId(String rid) Creates a predicate to identify an identifiable resource within a filter expression.subtract(Expression<? super R, ? extends Number> operand1, Expression<? super R, ? extends Number> operand2) Creates a function computing the numeric difference between the first and second operand.tcontains(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is contained by the second.tequals(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is equal to the second.touches(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the two geometric operands touch each other, but do not overlap.toverlaps(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand overlaps the second.within(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the first geometric operand is completely contained by the constant geometric operand.within(Expression<? super R, ? extends G> geometry1, Expression<? super 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.Methods inherited from class AbstractFactorygetVendor
- 
Constructor Details- 
DefaultFilterFactoryCreates a new factory for geometries and temporal objects of the given types. Thespatialargument can be one of the following classes:Authorized spatial class argument values Library Spatial class ESRI com.esri.core.geometry.GeometryJTS org.locationtech.jts.geom.GeometryJava2D java.awt.ShapeDefault java.lang.ObjectAuthorized temporal class argument values Library Temporal class Default java.lang.Object- Parameters:
- spatial- type of spatial objects, or- Object.classfor default.
- temporal- type of temporal objects, or- Object.classfor default.
- wraparound- the strategy to use for representing a region crossing the anti-meridian.
 
 
- 
- 
Method Details- 
forFeaturesReturns a factory operating onAbstractFeatureinstances. The geometry library will be the system default.- Returns:
- factory operating on AbstractFeatureinstances.
- TODO:
- The type of temporal object is not yet determined.
 
- 
resourceIdCreates a predicate to identify an identifiable resource within a filter expression.- Parameters:
- rid- identifier of the resource that shall be selected by the predicate.
- Returns:
- the predicate.
 
- 
propertyCreates an expression whose value is computed by retrieving the value indicated by a path in a resource. If all characters in the path are Unicode identifier parts, then the XPath expression is simply a property name.- Parameters:
- xpath- the path to the property whose value will be returned by the- apply(R)method.
- Returns:
- an expression evaluating the referenced property value.
 
- 
propertyCreates an expression retrieving the value as an instance of the specified class. Thexpathargument follows the rule described inproperty(String).The desired type of property values can be specified. For example if the property values should be numbers, then typecan beNumber.class. If property values can be of any type with no conversion desired, thentypeshould beObject.class.- Type Parameters:
- V- the type of the values to be fetched (compile-time value of- type).
- Parameters:
- xpath- the path to the property whose value will be returned by the- apply(R)method.
- type- the type of the values to be fetched (run-time value of- <V>).
- Returns:
- an expression evaluating the referenced property value.
 
- 
literalCreates a constant, literal value that can be used in expressions. The given value should be data objects such as strings, numbers, dates or geometries.- Type Parameters:
- V- the type of the value of the literal.
- Parameters:
- value- the literal value. May be- null.
- Returns:
- a literal for the given value.
 
- 
equalFilter operator that compares that two sub-expressions are equal to each other.- Parameters:
- expression1- the first of the two expressions to be used by this comparator.
- expression2- the second of the two expressions to be used by this comparator.
- Returns:
- a filter evaluating expression1=expression2.
 
- 
notEqualFilter operator that compares that its two sub-expressions are not equal to each other.- Parameters:
- expression1- the first of the two expressions to be used by this comparator.
- expression2- the second of the two expressions to be used by this comparator.
- Returns:
- a filter evaluating expression1≠expression2.
 
- 
lessFilter operator that checks that its first sub-expression is less than its second sub-expression.- Parameters:
- expression1- the first of the two expressions to be used by this comparator.
- expression2- the second of the two expressions to be used by this comparator.
- Returns:
- a filter evaluating expression1<expression2.
 
- 
greaterFilter operator that checks that its first sub-expression is greater than its second sub-expression.- Parameters:
- expression1- the first of the two expressions to be used by this comparator.
- expression2- the second of the two expressions to be used by this comparator.
- Returns:
- a filter evaluating expression1>expression2.
 
- 
lessOrEqualpublic Filter<R> lessOrEqual(Expression<? super R, ?> expression1, Expression<? super R, ?> expression2) Filter operator that checks that its first sub-expression is less than or equal to its second sub-expression.- Parameters:
- expression1- the first of the two expressions to be used by this comparator.
- expression2- the second of the two expressions to be used by this comparator.
- Returns:
- a filter evaluating expression1≤expression2.
 
- 
greaterOrEqualpublic Filter<R> greaterOrEqual(Expression<? super R, ?> expression1, Expression<? super R, ?> expression2) Filter operator that checks that its first sub-expression is greater than its second sub-expression.- Parameters:
- expression1- the first of the two expressions to be used by this comparator.
- expression2- the second of the two expressions to be used by this comparator.
- Returns:
- a filter evaluating expression1≥expression2.
 
- 
betweenpublic Filter<R> between(Expression<? super R, ?> expression, Expression<? super R, ?> lowerBoundary, Expression<? super R, ?> upperBoundary) Filter operation for a range check. The lower and upper boundary values are inclusive.- Parameters:
- expression- the expression to be compared by this comparator.
- lowerBoundary- the lower bound (inclusive) as an expression.
- upperBoundary- the upper bound (inclusive) as an expression.
- Returns:
- a filter evaluating (expression≥lowerBoundary) & (expression≤upperBoundary).
 
- 
likeCharacter string comparison operator with pattern matching and default wildcards. The wildcard character is'%', the single character is'_'and the escape character is'\\'. The comparison is case-sensitive.- Parameters:
- expression- source of values to compare against the pattern.
- pattern- pattern to match against expression values.
- Returns:
- a character string comparison operator with pattern matching.
 
- 
likepublic Filter<R> like(Expression<? super R, ?> expression, String pattern, char wildcard, char singleChar, char escape, boolean isMatchingCase) Character string comparison operator with pattern matching and specified wildcards.- Parameters:
- expression- source of values to compare against the pattern.
- pattern- pattern to match against expression values.
- wildcard- pattern character for matching any sequence of characters.
- singleChar- pattern character for matching exactly one character.
- escape- pattern character for indicating that the next character should be matched literally.
- isMatchingCase- specifies how a filter expression processor should perform string comparisons.
- Returns:
- a character string comparison operator with pattern matching.
 
- 
isNullAn operator that tests if an expression's value isnull. This corresponds to checking whether the property exists in the real-world.- Parameters:
- expression- source of values to compare against- null.
- Returns:
- a filter that checks if an expression's value is null.
 
- 
isNilAn operator that tests if an expression's value is nil. The difference withNullOperatoris that a value should exist but cannot be provided for the reason given bynilReason. Possible reasons are:- inapplicable — there is no value.
- template — the value will be available later.
- missing — the correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist.
- unknown — the correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists..
- withheld — the value is not divulged.
- Other strings at implementation choice.
 - Parameters:
- expression- source of values to compare against nil values.
- nilReason- the reason why the value is nil, or- nullfor accepting any reason.
- Returns:
- a filter that checks if an expression's value is nil for the specified reason.
- See Also:
 
- 
andCreates aANDfilter between two filters.- Parameters:
- operand1- the first operand of the AND operation.
- operand2- the second operand of the AND operation.
- Returns:
- a filter evaluating operand1 AND operand2.
 
- 
andCreates aANDfilter between two or more filters.- Parameters:
- operands- a collection of at least 2 operands.
- Returns:
- a filter evaluating operand1 AND operand2 AND operand3…
- Throws:
- IllegalArgumentException- if the given collection contains less than 2 elements.
 
- 
orCreates aORfilter between two filters.- Parameters:
- operand1- the first operand of the OR operation.
- operand2- the second operand of the OR operation.
- Returns:
- a filter evaluating operand1 OR operand2.
 
- 
orCreates aORfilter between two or more filters.- Parameters:
- operands- a collection of at least 2 operands.
- Returns:
- a filter evaluating operand1 OR operand2 OR operand3…
- Throws:
- IllegalArgumentException- if the given collection contains less than 2 elements.
 
- 
notCreates aNOTfilter for the given filter.- Parameters:
- operand- the operand of the NOT operation.
- Returns:
- a filter evaluating NOT operand.
 
- 
bboxCreates an operator that checks if the bounding box of the feature's geometry interacts with the bounding box provided in the filter properties.- Parameters:
- geometry- expression fetching the geometry to check for interaction with bounds.
- bounds- the bounds to check geometry against.
- Returns:
- a filter checking for any interactions between the bounding boxes.
 
- 
equalspublic Filter<R> equals(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the geometry of the two operands are equal.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- Returns:
- a filter for the "Equals" operation between the two geometries.
 
- 
disjointpublic Filter<R> disjoint(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the first operand is disjoint from the second.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- Returns:
- a filter for the "Disjoint" operation between the two geometries.
 
- 
intersectspublic Filter<R> intersects(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the two geometric operands intersect.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- Returns:
- a filter for the "Intersects" operation between the two geometries.
 
- 
touchespublic Filter<R> touches(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the two geometric operands touch each other, but do not overlap.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- Returns:
- a filter for the "Touches" operation between the two geometries.
 
- 
crossespublic Filter<R> crosses(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the first geometric operand crosses the second.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- Returns:
- a filter for the "Crosses" operation between the two geometries.
 
- 
withinpublic Filter<R> within(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the first geometric operand is completely contained by the constant geometric operand.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- Returns:
- a filter for the "Within" operation between the two geometries.
 
- 
containspublic Filter<R> contains(Expression<? super R, ? extends G> geometry1, Expression<? super R, ? extends G> geometry2) Creates an operator that checks if the first geometric operand contains the second.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- Returns:
- a filter for the "Contains" operation between the two geometries.
 
- 
overlapspublic Filter<R> overlaps(Expression<? super R, ? extends G> geometry1, Expression<? super 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.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- Returns:
- a filter for the "Overlaps" operation between the two geometries.
 
- 
beyondpublic Filter<R> beyond(Expression<? super R, ? extends G> geometry1, Expression<? super 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.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- distance- minimal distance for evaluating the expression as- true.
- Returns:
- operator that evaluates to truewhen all of a feature's geometry is more distant than the given distance from the second geometry.
 
- 
withinpublic Filter<R> within(Expression<? super R, ? extends G> geometry1, Expression<? super 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.- Parameters:
- geometry1- expression fetching the first geometry of the binary operator.
- geometry2- expression fetching the second geometry of the binary operator.
- distance- maximal distance for evaluating the expression as- true.
- Returns:
- operator that evaluates to truewhen any part of the feature's geometry lies within the given distance of the second geometry.
 
- 
afterpublic Filter<R> after(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is after the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "After" operator between the two temporal values.
 
- 
beforepublic Filter<R> before(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is before the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "Before" operator between the two temporal values.
 
- 
beginspublic Filter<R> begins(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand begins at the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "Begins" operator between the two temporal values.
 
- 
begunBypublic Filter<R> begunBy(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand begun by the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "BegunBy" operator between the two temporal values.
 
- 
tcontainspublic Filter<R> tcontains(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is contained by the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "TContains" operator between the two temporal values.
 
- 
duringpublic Filter<R> during(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is during the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "During" operator between the two temporal values.
 
- 
tequalspublic Filter<R> tequals(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is equal to the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "TEquals" operator between the two temporal values.
 
- 
toverlapspublic Filter<R> toverlaps(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand overlaps the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "TOverlaps" operator between the two temporal values.
 
- 
meetspublic Filter<R> meets(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand meets the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "Meets" operator between the two temporal values.
 
- 
endspublic Filter<R> ends(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand ends at the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "Ends" operator between the two temporal values.
 
- 
overlappedBypublic Filter<R> overlappedBy(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is overlapped by the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "OverlappedBy" operator between the two temporal values.
 
- 
metBypublic Filter<R> metBy(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is met by the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "MetBy" operator between the two temporal values.
 
- 
endedBypublic Filter<R> endedBy(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates an operator that checks if first temporal operand is ended by the second.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "EndedBy" operator between the two temporal values.
 
- 
anyInteractspublic Filter<R> anyInteracts(Expression<? super R, ? extends T> time1, Expression<? super R, ? extends T> time2) Creates a shortcut operator semantically equivalent to NOT (Before OR Meets OR MetBy OR After). This is applicable to periods only.- Parameters:
- time1- expression fetching the first temporal value.
- time2- expression fetching the second temporal value.
- Returns:
- a filter for the "AnyInteracts" operator between the two temporal values.
 
- 
addpublic Expression<R,Number> add(Expression<? super R, ? extends Number> operand1, Expression<? super R, ? extends Number> operand2) Creates a function computing the numeric addition of the first and second operand.- Parameters:
- operand1- expression fetching the first number.
- operand2- expression fetching the second number.
- Returns:
- an expression for the "Add" function between the two numerical values.
 
- 
subtractpublic Expression<R,Number> subtract(Expression<? super R, ? extends Number> operand1, Expression<? super R, ? extends Number> operand2) Creates a function computing the numeric difference between the first and second operand.- Parameters:
- operand1- expression fetching the first number.
- operand2- expression fetching the second number.
- Returns:
- an expression for the "Subtract" function between the two numerical values.
 
- 
multiplypublic Expression<R,Number> multiply(Expression<? super R, ? extends Number> operand1, Expression<? super R, ? extends Number> operand2) Creates a function computing the numeric product of their first and second operand.- Parameters:
- operand1- expression fetching the first number.
- operand2- expression fetching the second number.
- Returns:
- an expression for the "Multiply" function between the two numerical values.
 
- 
dividepublic Expression<R,Number> divide(Expression<? super R, ? extends Number> operand1, Expression<? super R, ? extends Number> operand2) Creates a function computing the numeric quotient resulting from dividing the first operand by the second.- Parameters:
- operand1- expression fetching the first number.
- operand2- expression fetching the second number.
- Returns:
- an expression for the "Divide" function between the two numerical values.
 
- 
functionCreates an implementation-specific function with a single parameter.- Parameters:
- name- name of the function to call.
- parameter- expression providing values for the function argument.
- Returns:
- an expression which will call the specified function.
- Throws:
- IllegalArgumentException- if the given name is not recognized, or if the argument is illegal for the specified function.
 
- 
functionpublic Expression<R,?> function(String name, Expression<? super R, ?> param1, Expression<? super R, ?> param2) Creates an implementation-specific function with two parameters.- Parameters:
- name- name of the function to call.
- param1- expression providing values for the first function argument.
- param2- expression providing values for the second function argument.
- Returns:
- an expression which will call the specified function.
- Throws:
- IllegalArgumentException- if the given name is not recognized, or if the arguments are illegal for the specified function.
 
- 
functionCreates an implementation-specific function.- Parameters:
- name- name of the function to call.
- parameters- expressions providing values for the function arguments.
- Returns:
- an expression which will call the specified function.
- Throws:
- IllegalArgumentException- if the given name is not recognized, or if the arguments are illegal for the specified function.
 
 
-