## 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
`OperatorBetween(int pos, SpelNodeImpl... operands)`

Method Summary
`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, 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