org.h2.expression.condition

## Class BooleanTest

- java.lang.Object
- - org.h2.expression.Expression
  - - org.h2.expression.condition.SimplePredicate
    - - org.h2.expression.condition.BooleanTest

    public class BooleanTest
    extends SimplePredicate

Boolean test (IS [NOT] { TRUE | FALSE | UNKNOWN }).

### Field Summary

### Fields inherited from class org.h2.expression.Expression

`MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL`

### Constructor Summary

Constructors
Constructor and Description
`BooleanTest(Expression left, boolean not, java.lang.Boolean right)`

### Method Summary

Methods
`void` `createIndexConditions(Session session, TableFilter filter)` Create index conditions if possible and attach them to the table filter.
`Expression` `getNotIfPossible(Session session)` If it is possible, return the negated expression.
`java.lang.StringBuilder` `getSQL(java.lang.StringBuilder builder, boolean alwaysQuote)` Appends the SQL statement of this expression to the specified builder.
`TypeInfo` `getType()` Returns the data type.
`Value` `getValue(Session session)` Return the resulting value for the current row.

### Methods inherited from class org.h2.expression.condition.SimplePredicate

`getCost, getSubexpression, getSubexpressionCount, isEverything, mapColumns, optimize, setEvaluatable, updateAggregate`

### Methods inherited from class org.h2.expression.Expression

`addFilterConditions, getAlias, getBooleanValue, getColumnName, getExpressionColumns, getExpressionColumns, getExpressionColumns, getNonAliasExpression, getNullable, getSchemaName, getSQL, getTableAlias, getTableName, getUnenclosedSQL, isAutoIncrement, isConstant, isNullConstant, isValueSet, toString, writeExpressions, writeExpressions`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### BooleanTest

    public BooleanTest(Expression left,
               boolean not,
               java.lang.Boolean right)

### Method Detail

#### getSQL

    public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder,
                                 boolean alwaysQuote)

Description copied from class: `Expression`
Appends the SQL statement of this expression to the specified builder. This may not always be the original SQL statement, specially after optimization.

Specified by:
  `getSQL` in class `Expression`
Parameters:
  `builder` - string builder
  `alwaysQuote` - quote all identifiers
Returns:
  the specified string builder

#### getValue

    public Value getValue(Session session)

Description copied from class: `Expression`
Return the resulting value for the current row.

Specified by:
  `getValue` in class `Expression`
Parameters:
  `session` - the session
Returns:
  the result

#### getNotIfPossible

    public Expression getNotIfPossible(Session session)

Description copied from class: `Expression`
If it is possible, return the negated expression. This is used to optimize NOT expressions: NOT ID>10 can be converted to ID<=10. Returns null if negating is not possible.

Overrides:
  `getNotIfPossible` in class `Expression`
Parameters:
  `session` - the session
Returns:
  the negated expression, or null

#### createIndexConditions

    public void createIndexConditions(Session session,
                             TableFilter filter)

Description copied from class: `Expression`
Create index conditions if possible and attach them to the table filter.

Overrides:
  `createIndexConditions` in class `Expression`
Parameters:
  `session` - the session
  `filter` - the table filter

#### getType

    public TypeInfo getType()

Description copied from class: `Expression`
Returns the data type. The data type may not be known before the optimization phase.

Specified by:
  `getType` in class `Expression`
Returns:
  the data type