IndexCondition

A index condition object is made for each condition that can potentially use an index. This class does not extend expression, but in general there is one expression that maps to each index condition.

Methods
static IndexCondition get(int compareType, ExpressionColumn column, Expression expression)
Create an index condition with the given parameters.
static IndexCondition get(int compareType, ExpressionColumn column, Expression expression)
Create an index condition with the given parameters.
Parameters:
compareType - the comparison type, see constants in {@link Comparison}
column - the column
expression - the expression
Returns:
the index condition
static IndexCondition getInList(ExpressionColumn column, List list)
Create an index condition with the compare type IN_LIST and with the given parameters.
static IndexCondition getInList(ExpressionColumn column, List list)
Create an index condition with the compare type IN_LIST and with the given parameters.
Parameters:
column - the column
list - the expression list
Returns:
the index condition
static IndexCondition getInQuery(ExpressionColumn column, Query query)
Create an index condition with the compare type IN_QUERY and with the given parameters.
static IndexCondition getInQuery(ExpressionColumn column, Query query)
Create an index condition with the compare type IN_QUERY and with the given parameters.
Parameters:
column - the column
query - the select statement
Returns:
the index condition
Column getColumn()
Get the referenced column.
Column getColumn()
Get the referenced column.
Returns:
the column
int getCompareType()
int getCompareType()
ResultInterface getCurrentResult()
Get the current result of the expression.
ResultInterface getCurrentResult()
Get the current result of the expression. The rows may not be of the same type, therefore the rows may not be unique.
Returns:
the result
Value getCurrentValue(Session session)
Get the current value of the expression.
Value getCurrentValue(Session session)
Get the current value of the expression.
Parameters:
session - the session
Returns:
the value
Value[] getCurrentValueList(Session session)
Get the current value list of the expression.
Value[] getCurrentValueList(Session session)
Get the current value list of the expression. The value list is of the same type as the column, distinct, and sorted.
Parameters:
session - the session
Returns:
the value list
Expression getExpression()
Get expression.
Expression getExpression()
Get expression.
Returns:
Expression.
List getExpressionList()
Get expression list.
List getExpressionList()
Get expression list.
Returns:
Expression list.
Query getExpressionQuery()
Get expression query.
Query getExpressionQuery()
Get expression query.
Returns:
Expression query.
int getMask(ArrayList indexConditions)
Get the comparison bit mask.
int getMask(ArrayList indexConditions)
Get the comparison bit mask.
Parameters:
indexConditions - all index conditions
Returns:
the mask
String getSQL()
Get the SQL snippet of this comparison.
String getSQL()
Get the SQL snippet of this comparison.
Returns:
the SQL snippet
boolean isAlwaysFalse()
Check if the result is always false.
boolean isAlwaysFalse()
Check if the result is always false.
Returns:
true if the result will always be false
boolean isEnd()
Check if this index condition is of the type column smaller or equal to value.
boolean isEnd()
Check if this index condition is of the type column smaller or equal to value.
Returns:
true if this is a end condition
boolean isEvaluatable()
Check if the expression can be evaluated.
boolean isEvaluatable()
Check if the expression can be evaluated.
Returns:
true if it can be evaluated
boolean isSpatialIntersects()
Check if this index condition is of the type spatial column intersects value.
boolean isSpatialIntersects()
Check if this index condition is of the type spatial column intersects value.
Returns:
true if this is a spatial intersects condition
boolean isStart()
Check if this index condition is of the type column larger or equal to value.
boolean isStart()
Check if this index condition is of the type column larger or equal to value.
Returns:
true if this is a start condition
String toString()
String toString()

Fields
static int ALWAYS_FALSE = 8
static int END = 4
static int EQUALITY = 1
static int RANGE = 6
static int SPATIAL_INTERSECTS = 16
static int START = 2

EQUALITY = 1

A bit of a search mask meaning 'equal'.

SPATIAL_INTERSECTS = 16

A bit of a search mask meaning 'spatial intersection'.

START = 2

A bit of a search mask meaning 'larger or equal'.

END = 4

A bit of a search mask meaning 'smaller or equal'.

RANGE = 6

A search mask meaning 'between'.

ALWAYS_FALSE = 8

A bit of a search mask meaning 'the condition is always false'.