org.h2.expression

## Class Parameter

- java.lang.Object
- - org.h2.expression.Expression
  - - org.h2.expression.Operation0
    - - org.h2.expression.Parameter

All Implemented Interfaces:
  ParameterInterface, HasSQL, Typed

    public final class Parameter
    extends Operation0
    implements ParameterInterface

A parameter of a prepared statement.

### Field Summary

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

`AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESES`

### Fields inherited from interface org.h2.util.HasSQL

`ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS`

### Constructor Summary

Constructors
Constructor and Description
`Parameter(int index)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `checkSet()` Check if the value is set.
`int` `getCost()` Estimate the cost to process the expression.
`int` `getIndex()`
`Expression` `getNotIfPossible(SessionLocal session)` If it is possible, return the negated expression.
`Value` `getParamValue()` Get the value of the parameter if set.
`TypeInfo` `getType()` Returns the data type.
`java.lang.StringBuilder` `getUnenclosedSQL(java.lang.StringBuilder builder, int sqlFlags)` Get the SQL statement of this expression.
`Value` `getValue(SessionLocal session)` Return the resulting value for the current row.
`boolean` `isEverything(ExpressionVisitor visitor)` Check if this expression and all sub-expressions can fulfill a criteria.
`boolean` `isValueSet()` Is the value of a parameter set.
`Expression` `optimize(SessionLocal session)` Try to optimize the expression.
`void` `setColumn(Column column)`
`void` `setValue(Value v)`
`void` `setValue(Value v, boolean closeOld)` Set the value of the parameter.

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

`mapColumns, setEvaluatable, updateAggregate`

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

`addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getColumnNameForView, getEnclosedSQL, getNonAliasExpression, getNullable, getSchemaName, getSQL, getSQL, getSQL, getSQL, getSubexpression, getSubexpressionCount, getTableAlias, getTableName, getWhenSQL, getWhenValue, isConstant, isIdentity, isNullConstant, isWhenConditionOperand, needParentheses, optimizeCondition, toString, writeExpressions, writeExpressions`

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

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

### Methods inherited from interface org.h2.expression.ParameterInterface

`getNullable`

### Methods inherited from interface org.h2.util.HasSQL

`getTraceSQL`

### Constructor Detail

#### Parameter

    public Parameter(int index)

### Method Detail

#### getUnenclosedSQL

    public java.lang.StringBuilder getUnenclosedSQL(java.lang.StringBuilder builder,
                                                    int sqlFlags)

Description copied from class: `Expression`
Get the SQL statement of this expression. This may not always be the original SQL statement, especially after optimization. Enclosing '(' and ')' are never appended.

Specified by:
  `getUnenclosedSQL` in class `Expression`
Parameters:
  `builder` - string builder
  `sqlFlags` - formatting flags
Returns:
  the specified string builder

#### setValue

    public void setValue(Value v,
                         boolean closeOld)

Description copied from interface: `ParameterInterface`
Set the value of the parameter.

Specified by:
  `setValue` in interface `ParameterInterface`
Parameters:
  `v` - the new value
  `closeOld` - if the old value (if one is set) should be closed

#### setValue

    public void setValue(Value v)

#### getParamValue

    public Value getParamValue()

Description copied from interface: `ParameterInterface`
Get the value of the parameter if set.

Specified by:
  `getParamValue` in interface `ParameterInterface`
Returns:
  the value or null

#### getValue

    public Value getValue(SessionLocal 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

#### getType

    public TypeInfo getType()

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

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

#### checkSet

    public void checkSet()

Description copied from interface: `ParameterInterface`
Check if the value is set.

Specified by:
  `checkSet` in interface `ParameterInterface`

#### optimize

    public Expression optimize(SessionLocal session)

Description copied from class: `Expression`
Try to optimize the expression.

Overrides:
  `optimize` in class `Operation0`
Parameters:
  `session` - the session
Returns:
  the optimized expression

#### isValueSet

    public boolean isValueSet()

Description copied from class: `Expression`
Is the value of a parameter set.

Specified by:
  `isValueSet` in interface `ParameterInterface`
Overrides:
  `isValueSet` in class `Expression`
Returns:
  true if set

#### isEverything

    public boolean isEverything(ExpressionVisitor visitor)

Description copied from class: `Expression`
Check if this expression and all sub-expressions can fulfill a criteria. If any part returns false, the result is false.

Specified by:
  `isEverything` in class `Expression`
Parameters:
  `visitor` - the visitor
Returns:
  if the criteria can be fulfilled

#### getCost

    public int getCost()

Description copied from class: `Expression`
Estimate the cost to process the expression. Used when optimizing the query, to calculate the query plan with the lowest estimated cost.

Specified by:
  `getCost` in class `Expression`
Returns:
  the estimated cost

#### getNotIfPossible

    public Expression getNotIfPossible(SessionLocal 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

#### setColumn

    public void setColumn(Column column)

#### getIndex

    public int getIndex()