public interface Expression extends QueryElement
Select
is usually
an expression together with an alias, a Restriction
is
a comparison of two or more expressions, etc.
There are many types of expressions. The simplest ones just insert a
constant value: Expressions.integer(int)
or
Expressions.aFloat(float)
.
Other expressions create a reference to a property or database column:
Hql.property(String, String)
.
Expressions can also be combined to form other expressions:
Expressions.add(Expression, Expression)
or Expressions.divide(Expression, Expression)
Thus it is possible to form a complex tree of expressions:
// The log ratio of foreground intensities: LOG(ch1fg) / LOG(ch2fg) Expression logRatio = Expressions.divide( Expressions.log(Hql.property("ch1fg")), Expressions.log(Hql.property("ch2fg")) );
The expressions can then be used to create restrictions:
// Return only data with log ratio greater than 2.0 Restrictions.gt(logRatio, Expressions.aFloat(2.0));
The Expressions
, Hql
, Annotations
and Annotations
are factory classes that create expressions.
toQl