org.apache.jackrabbit.spi.commons.query.jsr283.qom
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 the Comparison constraint is satisfied as a whole if the comparison against any element of the array is satisfied.

If operand1 and operand2 evaluate to values of different property types, the value of operand2 is converted to the property type of the value of operand1. If the type conversion fails, the query is invalid.

Certain operators may only be applied to values of certain property types. The following describes required operator support for each property type:

If operator is not supported for the property type of operand1, 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 EqualTo operator is satisfied only if the value of operand1 equals the value of operand2.

The NotEqualTo operator is satisfied unless the value of operand1 equals the value of operand2.

The LessThan operator is satisfied only if the value of operand1 is ordered before the value of operand2.

The LessThanOrEqualTo operator is satisfied unless the value of operand1 is ordered after the value of operand2.

The GreaterThan operator is satisfied only if the value of operand1 is ordered after the value of operand2.

The GreaterThanOrEqualTo operator is satisfied unless the value of operand1 is ordered before the value of operand2.

The Like operator is satisfied only if the value of operand1 matches the pattern specified by the value of operand2, where in the pattern:

Since:
JCR 2.0

Method Summary
 DynamicOperand getOperand1()
          Gets the first operand.
 StaticOperand getOperand2()
          Gets the second operand.
 int getOperator()
          Gets the operator.
 

Method Detail

getOperand1

DynamicOperand getOperand1()
Gets the first operand.

Returns:
the operand; non-null

getOperator

int getOperator()
Gets the operator.

Returns:
either

getOperand2

StaticOperand getOperand2()
Gets the second operand.

Returns:
the operand; non-null


Copyright © 2004-2008 The Apache Software Foundation. All Rights Reserved.