Interface Comparison
-
- All Superinterfaces:
Constraint
- All Known Implementing Classes:
ComparisonImpl
public interface Comparison extends Constraint
Filters node-tuples based on the outcome of a binary operation.For any comparison,
operand2
always evaluates to a scalar value. In contrast,operand1
may evaluate to an array of values (for example, the value of a multi-valued property), in which case the comparison is separately performed for each element of the array, and theComparison
constraint is satisfied as a whole if the comparison against any element of the array is satisfied.If
operand1
andoperand2
evaluate to values of different property types, the value ofoperand2
is converted to the property type of the value ofoperand1
. If the type conversion fails, the query is invalid.If
operator
is not supported for the property type ofoperand1
, the query is invalid.If
operand1
evaluates to null (for example, if the operand evaluates the value of a property which does not exist), the constraint is not satisfied.The
JCR_OPERATOR_EQUAL_TO
operator is satisfied only if the value ofoperand1
equals the value ofoperand2
.The
JCR_OPERATOR_NOT_EQUAL_TO
operator is satisfied unless the value ofoperand1
equals the value ofoperand2
.The
JCR_OPERATOR_LESSS_THAN
operator is satisfied only if the value ofoperand1
is ordered before the value ofoperand2
.The
JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO
operator is satisfied unless the value ofoperand1
is ordered after the value ofoperand2
.The
JCR_OPERATOR_GREATER_THAN
operator is satisfied only if the value ofoperand1
is ordered after the value ofoperand2
.The
JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO
operator is satisfied unless the value ofoperand1
is ordered before the value ofoperand2
.The
JCR_OPERATOR_LIKE
operator is satisfied only if the value ofoperand1
matches the pattern specified by the value ofoperand2
, where in the pattern:- the
character "
%
" matches zero or more characters, and - the
character "
_
" (underscore) matches exactly one character, and - the string "
\x
" matches the character "x
", and - all other characters match themselves.
- Since:
- JCR 2.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DynamicOperand
getOperand1()
Gets the first operand.StaticOperand
getOperand2()
Gets the second operand.java.lang.String
getOperator()
Gets the operator.
-
-
-
Method Detail
-
getOperand1
DynamicOperand getOperand1()
Gets the first operand.- Returns:
- the operand; non-null
-
getOperator
java.lang.String getOperator()
Gets the operator.- Returns:
- either
QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO
,QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO
,QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN
,QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO
,QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN
,QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO
, orQueryObjectModelConstants.JCR_OPERATOR_LIKE
-
getOperand2
StaticOperand getOperand2()
Gets the second operand.- Returns:
- the operand; non-null
-
-