Class AbstractExpression
java.lang.Object
org.castor.cpa.query.object.AbstractQueryObject
org.castor.cpa.query.object.expression.AbstractExpression
- All Implemented Interfaces:
Expression,QueryObject
- Direct Known Subclasses:
AbstractField,AbstractFunction,AbstractLiteral,AbstractParameter,CompoundExpression,Negate
Abstract base class for Expressions.
- Since:
- 1.3
- Version:
- $Revision: 7121 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
- Author:
- Udai Gupta, Ralf Joachim
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal Functionabs()The method for ABS function of query objects.final Expressionadd(double value) The method for Add ( + ) additive arithmetic expression of query objects.final Expressionadd(long value) The method for Add arithmetic expression of query objects.final Expressionadd(BigDecimal value) The method for Add ( + ) additive arithmetic expression of query objects.add(Expression expression) The method for Add ( + ) additive arithmetic expression of query objects.final Conditionbetween(double low, double high) Between.final Conditionbetween(long low, long high) Between.final ConditionBetween.final Conditionbetween(BigDecimal low, BigDecimal high) Between.final Conditionbetween(Expression low, Expression high) Between.final Conditionbetween(TemporalType temporalType, Calendar low, Calendar high) Between.final Conditionbetween(TemporalType temporalType, Date low, Date high) Between.final ExpressionThe method for Concat ( || ) additive arithmetic expression of query objects.concat(Expression expression) The method for Concat ( || ) additive arithmetic expression of query objects.final Expressiondivide(double value) The method for Divide ( / ) multiplicative arithmetic expression of query objects.final Expressiondivide(long value) The method for Divide ( / ) multiplicative arithmetic expression of query objects.final Expressiondivide(BigDecimal value) The method for Divide ( / ) multiplicative arithmetic expression of query objects.divide(Expression expression) The method for Divide ( / ) multiplicative arithmetic expression of query objects.final Conditionequal(boolean value) Equal.final Conditionequal(double value) Equal.final Conditionequal(long value) Equal.final ConditionEqual.final Conditionequal(BigDecimal value) Equal.final Conditionequal(Expression value) Equal.final Conditionequal(TemporalType temporalType, Calendar value) Equal.final Conditionequal(TemporalType temporalType, Date value) Equal.final ConditiongreaterEqual(double value) Greater equal.final ConditiongreaterEqual(long value) Greater equal.final ConditiongreaterEqual(String value) Greater equal.final ConditiongreaterEqual(BigDecimal value) Greater equal.final ConditiongreaterEqual(Expression value) Greater equal.final ConditiongreaterEqual(TemporalType temporalType, Calendar value) Greater equal.final ConditiongreaterEqual(TemporalType temporalType, Date value) Greater equal.final ConditiongreaterThan(double value) Greater Then.final ConditiongreaterThan(long value) Greater Then.final ConditiongreaterThan(String value) Greater Then.final ConditiongreaterThan(BigDecimal value) Greater Then.final ConditiongreaterThan(Expression value) Greater Then.final ConditiongreaterThan(TemporalType temporalType, Calendar value) Greater Then.final ConditiongreaterThan(TemporalType temporalType, Date value) Greater Then.final Functionlength()The method for LENGTH function of query objects.final ConditionlessEqual(double value) Less equal.final ConditionlessEqual(long value) Less equal.final ConditionLess equal.final ConditionlessEqual(BigDecimal value) Less equal.final ConditionlessEqual(Expression value) Less equal.final ConditionlessEqual(TemporalType temporalType, Calendar value) Less equal.final ConditionlessEqual(TemporalType temporalType, Date value) Less equal.final ConditionlessThan(double value) Less Then.final ConditionlessThan(long value) Less Then.final ConditionLess Then.final ConditionlessThan(BigDecimal value) Less Then.final ConditionlessThan(Expression value) Less Then.final ConditionlessThan(TemporalType temporalType, Calendar value) Less Then.final ConditionlessThan(TemporalType temporalType, Date value) Less Then.final ConditionLike.final ConditionLike.final ConditionLike.final ConditionLike.final ConditionLike.final ConditionLike.final FunctionThe method for LOCATE function of query objects.final FunctionThe method for LOCATE function of query objects.final Functionlocate(String value, Expression index) The method for LOCATE function of query objects.final Functionlocate(Expression value) The method for LOCATE function of query objects.final Functionlocate(Expression value, int index) Locate.final Functionlocate(Expression value, Expression index) Locate.final Functionlower()The method for LOWER function of query objects.final Expressionmultiply(double value) The method for Multiply ( * ) multiplicative arithmetic expression of query objects.final Expressionmultiply(long value) The method for Concat ( || ) additive arithmetic expression of query objects.final Expressionmultiply(BigDecimal value) The method for Multiply ( * ) multiplicative arithmetic expression of query objects.multiply(Expression expression) The method for Multiply ( * ) multiplicative arithmetic expression of query objects.negate()Negate.final ConditionnotBetween(double low, double high) Not between.final ConditionnotBetween(long low, long high) Not between.final ConditionnotBetween(String low, String high) Not between.final ConditionnotBetween(BigDecimal low, BigDecimal high) Not between.final ConditionnotBetween(Expression low, Expression high) Not between.final ConditionnotBetween(TemporalType temporalType, Calendar low, Calendar high) Not between.final ConditionnotBetween(TemporalType temporalType, Date low, Date high) Not between.final ConditionnotEqual(boolean value) Not equal.final ConditionnotEqual(double value) Not equal.final ConditionnotEqual(long value) Not equal.final ConditionNot equal.final ConditionnotEqual(BigDecimal value) Not equal.final ConditionnotEqual(Expression value) Not equal.final ConditionnotEqual(TemporalType temporalType, Calendar value) Not equal.final ConditionnotEqual(TemporalType temporalType, Date value) Not equal.final ConditionNot like.final ConditionNot like.final ConditionNot like.final ConditionNot like.final ConditionNot like.final ConditionNot like.final Expressionplus()Plus.final Expressionremainder(double value) The method for Reminder ( % ) multiplicative arithmetic expression of query objects.final Expressionremainder(long value) The method for Reminder ( % ) multiplicative arithmetic expression of query objects.final Expressionremainder(BigDecimal value) The method for Reminder ( % ) multiplicative arithmetic expression of query objects.remainder(Expression expression) The method for Reminder ( % ) multiplicative arithmetic expression of query objects.final Functionsqrt()The method for SQRT function of query objects.final Functionsubstring(int index, int length) Substring.final Functionsubstring(int index, Expression length) Substring.final Functionsubstring(Expression index, int length) Substring.final Functionsubstring(Expression index, Expression length) Substring.final Expressionsubtract(double value) The method for Subtract ( - ) additive arithmetic expression of query objects.final Expressionsubtract(long value) The method for Subtract ( - ) additive arithmetic expression of query objects.final Expressionsubtract(BigDecimal value) The method for Subtract ( - ) additive arithmetic expression of query objects.subtract(Expression expression) The method for Subtract ( - ) additive arithmetic expression of query objects.final Functiontrim()Trim.final Functiontrim(char character) Trim.final FunctionTrim.final Functiontrim(TrimSpecification trimSpecification) Trim.final Functiontrim(TrimSpecification trimSpecification, char character) Trim.final Functiontrim(TrimSpecification trimSpecification, Parameter character) Trim.final Functionupper()The method for UPPER function of query objects..Methods inherited from class org.castor.cpa.query.object.AbstractQueryObject
toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.castor.cpa.query.QueryObject
toString
-
Constructor Details
-
AbstractExpression
public AbstractExpression()
-
-
Method Details
-
add
The method for Add arithmetic expression of query objects.- Specified by:
addin interfaceExpression- Parameters:
value- The long value- Returns:
- The Expression of query objects
-
add
The method for Add ( + ) additive arithmetic expression of query objects.- Specified by:
addin interfaceExpression- Parameters:
value- The double value- Returns:
- The Expression of query objects of query objects
-
add
The method for Add ( + ) additive arithmetic expression of query objects.- Specified by:
addin interfaceExpression- Parameters:
value- The BigDecimal value- Returns:
- The Expression of query objects
-
add
The method for Add ( + ) additive arithmetic expression of query objects.- Specified by:
addin interfaceExpression- Parameters:
expression- The Expression value- Returns:
- The Expression of query objects
-
subtract
The method for Subtract ( - ) additive arithmetic expression of query objects.- Specified by:
subtractin interfaceExpression- Parameters:
value- The long value- Returns:
- The Expression of query objects
-
subtract
The method for Subtract ( - ) additive arithmetic expression of query objects.- Specified by:
subtractin interfaceExpression- Parameters:
value- The double value- Returns:
- The Expression of query objects
-
subtract
The method for Subtract ( - ) additive arithmetic expression of query objects.- Specified by:
subtractin interfaceExpression- Parameters:
value- The BigDecimal value- Returns:
- The Expression of query objects
-
subtract
The method for Subtract ( - ) additive arithmetic expression of query objects.- Specified by:
subtractin interfaceExpression- Parameters:
expression- The Expression value- Returns:
- The Expression of query objects
-
concat
The method for Concat ( || ) additive arithmetic expression of query objects.- Specified by:
concatin interfaceExpression- Parameters:
value- The String value- Returns:
- The Expression of query objects
-
concat
The method for Concat ( || ) additive arithmetic expression of query objects.- Specified by:
concatin interfaceExpression- Parameters:
expression- The Expression value- Returns:
- The Expression of query objects
-
multiply
The method for Concat ( || ) additive arithmetic expression of query objects.- Specified by:
multiplyin interfaceExpression- Parameters:
value- The long value- Returns:
- The Expression of query objects
-
multiply
The method for Multiply ( * ) multiplicative arithmetic expression of query objects.- Specified by:
multiplyin interfaceExpression- Parameters:
value- The double value- Returns:
- The Expression of query objects
-
multiply
The method for Multiply ( * ) multiplicative arithmetic expression of query objects.- Specified by:
multiplyin interfaceExpression- Parameters:
value- The BigDecimal value- Returns:
- The Expression of query objects
-
multiply
The method for Multiply ( * ) multiplicative arithmetic expression of query objects.- Specified by:
multiplyin interfaceExpression- Parameters:
expression- The Expression value- Returns:
- The Expression of query objects
-
divide
The method for Divide ( / ) multiplicative arithmetic expression of query objects.- Specified by:
dividein interfaceExpression- Parameters:
value- The long value- Returns:
- The Expression of query objects
-
divide
The method for Divide ( / ) multiplicative arithmetic expression of query objects.- Specified by:
dividein interfaceExpression- Parameters:
value- The double value- Returns:
- The Expression of query objects
-
divide
The method for Divide ( / ) multiplicative arithmetic expression of query objects.- Specified by:
dividein interfaceExpression- Parameters:
value- The BigDecimal value- Returns:
- The Expression of query objects
-
divide
The method for Divide ( / ) multiplicative arithmetic expression of query objects.- Specified by:
dividein interfaceExpression- Parameters:
expression- The Expression value- Returns:
- The Expression of query objects
-
remainder
The method for Reminder ( % ) multiplicative arithmetic expression of query objects.- Specified by:
remainderin interfaceExpression- Parameters:
value- The long value- Returns:
- The Expression of query objects
-
remainder
The method for Reminder ( % ) multiplicative arithmetic expression of query objects.- Specified by:
remainderin interfaceExpression- Parameters:
value- The double value- Returns:
- The Expression of query objects
-
remainder
The method for Reminder ( % ) multiplicative arithmetic expression of query objects.- Specified by:
remainderin interfaceExpression- Parameters:
value- The BigDecimal value- Returns:
- The Expression of query objects
-
remainder
The method for Reminder ( % ) multiplicative arithmetic expression of query objects.- Specified by:
remainderin interfaceExpression- Parameters:
expression- The Expression value- Returns:
- The Expression of query objects
-
plus
Plus.- Specified by:
plusin interfaceExpression- Returns:
- The Expression of query objects
-
negate
Negate.- Specified by:
negatein interfaceExpression- Returns:
- The Expression of query objects
-
length
The method for LENGTH function of query objects.- Specified by:
lengthin interfaceExpression- Returns:
- The Function of query objects
-
abs
The method for ABS function of query objects.- Specified by:
absin interfaceExpression- Returns:
- The Function of query objects
-
sqrt
The method for SQRT function of query objects.- Specified by:
sqrtin interfaceExpression- Returns:
- The Function of query objects
-
lower
The method for LOWER function of query objects.- Specified by:
lowerin interfaceExpression- Returns:
- The Function of query objects
-
upper
The method for UPPER function of query objects..- Specified by:
upperin interfaceExpression- Returns:
- The Function of query objects
-
locate
The method for LOCATE function of query objects.- Specified by:
locatein interfaceExpression- Parameters:
value- The String value- Returns:
- The Function of query objects
-
locate
The method for LOCATE function of query objects.- Specified by:
locatein interfaceExpression- Parameters:
value- The Expression value- Returns:
- The Function of query objects
-
locate
The method for LOCATE function of query objects.- Specified by:
locatein interfaceExpression- Parameters:
value- The String valueindex- The index- Returns:
- The Function of query objects
-
locate
The method for LOCATE function of query objects.- Specified by:
locatein interfaceExpression- Parameters:
value- The valueindex- The index- Returns:
- The Function of query objects
-
locate
Locate.- Specified by:
locatein interfaceExpression- Parameters:
value- The valueindex- The index- Returns:
- The Function of query objects
-
locate
Locate.- Specified by:
locatein interfaceExpression- Parameters:
value- The valueindex- The index- Returns:
- The Function of query objects
-
substring
Substring.- Specified by:
substringin interfaceExpression- Parameters:
index- The indexlength- The length- Returns:
- The Function of query objects
-
substring
Substring.- Specified by:
substringin interfaceExpression- Parameters:
index- The indexlength- The length- Returns:
- The Function of query objects
-
substring
Substring.- Specified by:
substringin interfaceExpression- Parameters:
index- The indexlength- The length- Returns:
- The Function of query objects
-
substring
Substring.- Specified by:
substringin interfaceExpression- Parameters:
index- The indexlength- The length- Returns:
- The Function of query objects
-
trim
Trim.- Specified by:
trimin interfaceExpression- Returns:
- The Function of query objects
-
trim
Trim.- Specified by:
trimin interfaceExpression- Parameters:
character- The character- Returns:
- The Function of query objects
-
trim
Trim.- Specified by:
trimin interfaceExpression- Parameters:
character- The character- Returns:
- The Function of query objects
-
trim
Trim.- Specified by:
trimin interfaceExpression- Parameters:
trimSpecification- The trim specification- Returns:
- The Function of query objects
-
trim
Trim.- Specified by:
trimin interfaceExpression- Parameters:
trimSpecification- The trim specificationcharacter- The character- Returns:
- The Function of query objects
-
trim
Trim.- Specified by:
trimin interfaceExpression- Parameters:
trimSpecification- The trim specificationcharacter- The character- Returns:
- The Function of query objects
-
equal
Equal.- Specified by:
equalin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
equal
Equal.- Specified by:
equalin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
equal
Equal.- Specified by:
equalin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
equal
Equal.- Specified by:
equalin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
equal
Equal.- Specified by:
equalin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
equal
Equal.- Specified by:
equalin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
equal
Equal.- Specified by:
equalin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
equal
Equal.- Specified by:
equalin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
notEqual
Not equal.- Specified by:
notEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
notEqual
Not equal.- Specified by:
notEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
notEqual
Not equal.- Specified by:
notEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
notEqual
Not equal.- Specified by:
notEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
notEqual
Not equal.- Specified by:
notEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
notEqual
Not equal.- Specified by:
notEqualin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
notEqual
Not equal.- Specified by:
notEqualin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
notEqual
Not equal.- Specified by:
notEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessThan
Less Then.- Specified by:
lessThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessThan
Less Then.- Specified by:
lessThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessThan
Less Then.- Specified by:
lessThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessThan
Less Then.- Specified by:
lessThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessThan
Less Then.- Specified by:
lessThanin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
lessThan
Less Then.- Specified by:
lessThanin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
lessThan
Less Then.- Specified by:
lessThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessEqual
Less equal.- Specified by:
lessEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessEqual
Less equal.- Specified by:
lessEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessEqual
Less equal.- Specified by:
lessEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessEqual
Less equal.- Specified by:
lessEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
lessEqual
Less equal.- Specified by:
lessEqualin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
lessEqual
Less equal.- Specified by:
lessEqualin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
lessEqual
Less equal.- Specified by:
lessEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterEqual
Greater equal.- Specified by:
greaterEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterEqual
Greater equal.- Specified by:
greaterEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterEqual
Greater equal.- Specified by:
greaterEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterEqual
Greater equal.- Specified by:
greaterEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterEqual
Greater equal.- Specified by:
greaterEqualin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
greaterEqual
Greater equal.- Specified by:
greaterEqualin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
greaterEqual
Greater equal.- Specified by:
greaterEqualin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterThan
Greater Then.- Specified by:
greaterThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterThan
Greater Then.- Specified by:
greaterThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterThan
Greater Then.- Specified by:
greaterThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterThan
Greater Then.- Specified by:
greaterThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
greaterThan
Greater Then.- Specified by:
greaterThanin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
greaterThan
Greater Then.- Specified by:
greaterThanin interfaceExpression- Parameters:
temporalType- The temporal typevalue- The value- Returns:
- The condition
-
greaterThan
Greater Then.- Specified by:
greaterThanin interfaceExpression- Parameters:
value- The value- Returns:
- The condition
-
like
Like.- Specified by:
likein interfaceExpression- Parameters:
pattern- The pattern- Returns:
- The condition
-
like
Like.- Specified by:
likein interfaceExpression- Parameters:
pattern- The pattern- Returns:
- The condition
-
like
Like.- Specified by:
likein interfaceExpression- Parameters:
pattern- The patternescape- The escape- Returns:
- The condition
-
like
Like.- Specified by:
likein interfaceExpression- Parameters:
pattern- The patternescape- The escape- Returns:
- The condition
-
like
Like.- Specified by:
likein interfaceExpression- Parameters:
pattern- The patternescape- The escape- Returns:
- The condition
-
like
Like.- Specified by:
likein interfaceExpression- Parameters:
pattern- The patternescape- The escape- Returns:
- The condition
-
notLike
Not like.- Specified by:
notLikein interfaceExpression- Parameters:
pattern- The pattern- Returns:
- The condition
-
notLike
Not like.- Specified by:
notLikein interfaceExpression- Parameters:
pattern- The patternescape- The escape- Returns:
- The condition
-
notLike
Not like.- Specified by:
notLikein interfaceExpression- Parameters:
pattern- The patternescape- The escape- Returns:
- The condition
-
notLike
Not like.- Specified by:
notLikein interfaceExpression- Parameters:
pattern- The pattern- Returns:
- The condition
-
notLike
Not like.- Specified by:
notLikein interfaceExpression- Parameters:
pattern- The patternescape- The escape- Returns:
- The condition
-
notLike
Not like.- Specified by:
notLikein interfaceExpression- Parameters:
pattern- The patternescape- The escape- Returns:
- The condition
-
between
Between.- Specified by:
betweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-
between
Between.- Specified by:
betweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-
between
Between.- Specified by:
betweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-
between
Between.- Specified by:
betweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-
between
Between.- Specified by:
betweenin interfaceExpression- Parameters:
temporalType- The temporal typelow- The lowhigh- The high- Returns:
- The condition
-
between
Between.- Specified by:
betweenin interfaceExpression- Parameters:
temporalType- The temporal typelow- The lowhigh- The high- Returns:
- The condition
-
between
Between.- Specified by:
betweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-
notBetween
Not between.- Specified by:
notBetweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-
notBetween
Not between.- Specified by:
notBetweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-
notBetween
Not between.- Specified by:
notBetweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-
notBetween
Not between.- Specified by:
notBetweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-
notBetween
Not between.- Specified by:
notBetweenin interfaceExpression- Parameters:
temporalType- The temporal typelow- The lowhigh- The high- Returns:
- The condition
-
notBetween
Not between.- Specified by:
notBetweenin interfaceExpression- Parameters:
temporalType- The temporal typelow- The lowhigh- The high- Returns:
- The condition
-
notBetween
Not between.- Specified by:
notBetweenin interfaceExpression- Parameters:
low- The lowhigh- The high- Returns:
- The condition
-