org.springframework.expression.spel.ast

## Class OperatorBetween

- java.lang.Object
- - org.springframework.expression.spel.ast.SpelNodeImpl
  - - org.springframework.expression.spel.ast.Operator
    - - org.springframework.expression.spel.ast.OperatorBetween

All Implemented Interfaces:
  SpelNode

    public class OperatorBetween
    extends Operator

Represents the between operator. The left operand to between must be a single value and the right operand must be a list - this operator returns true if the left operand is between (using the registered comparator) the two elements in the list. The definition of between being inclusive follows the SQL BETWEEN definition.

Since:
  3.0
Author:
  Andy Clement

### Field Summary

### Fields inherited from class org.springframework.expression.spel.ast.SpelNodeImpl

`children, pos`

### Constructor Summary

Constructors
Constructor and Description
`OperatorBetween(int pos, SpelNodeImpl... operands)`

### Method Summary

Methods
`BooleanTypedValue` `getValueInternal(ExpressionState state)` Returns a boolean based on whether a value is in the range expressed.

### Methods inherited from class org.springframework.expression.spel.ast.Operator

`getLeftOperand, getOperatorName, getRightOperand, toStringAST`

### Methods inherited from class org.springframework.expression.spel.ast.SpelNodeImpl

`getChild, getChildCount, getEndPosition, getObjectClass, getPreviousChild, getStartPosition, getTypedValue, getValue, getValue, getValueRef, isWritable, nextChildIs, setValue`

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

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

### Constructor Detail

#### OperatorBetween

    public OperatorBetween(int pos,
                   SpelNodeImpl... operands)

### Method Detail

#### getValueInternal

    public BooleanTypedValue getValueInternal(ExpressionState state)
                                       throws EvaluationException

Returns a boolean based on whether a value is in the range expressed. The first operand is any value whilst the second is a list of two values - those two values being the bounds allowed for the first operand (inclusive).

Specified by:
  `getValueInternal` in class `SpelNodeImpl`
Parameters:
  `state` - the expression state
Returns:
  true if the left operand is in the range specified, false otherwise
Throws:
  `EvaluationException` - if there is a problem evaluating the expression