org.springframework.expression.spel.ast

## Class Selection

- java.lang.Object
- - org.springframework.expression.spel.ast.SpelNodeImpl
  - - org.springframework.expression.spel.ast.Selection

All Implemented Interfaces:
  SpelNode

    public class Selection
    extends SpelNodeImpl

Represents selection over a map or collection. For example: {1,2,3,4,5,6,7,8,9,10}.?{#isEven(#this) == 'y'} returns [2, 4, 6, 8, 10]

Basically a subset of the input data is returned based on the evaluation of the expression supplied as selection criteria.

Since:
  3.0
Author:
  Andy Clement, Mark Fisher, Sam Brannen

### Field Summary

Fields
`static int` `ALL`
`static int` `FIRST`
`static int` `LAST`

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

`children, pos`

### Constructor Summary

Constructors
Constructor and Description
`Selection(boolean nullSafe, int variant, int pos, SpelNodeImpl expression)`

### Method Summary

Methods
`TypedValue` `getValueInternal(ExpressionState state)`
`protected ValueRef` `getValueRef(ExpressionState state)`
`String` `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`

### Field Detail

#### ALL

    public static final int ALL

See Also:
  Constant Field Values

#### FIRST

    public static final int FIRST

See Also:
  Constant Field Values

#### LAST

    public static final int LAST

See Also:
  Constant Field Values

### Constructor Detail

#### Selection

    public Selection(boolean nullSafe,
             int variant,
             int pos,
             SpelNodeImpl expression)

### Method Detail

#### getValueInternal

    public TypedValue getValueInternal(ExpressionState state)
                                throws EvaluationException

Specified by:
  `getValueInternal` in class `SpelNodeImpl`
Throws:
  `EvaluationException`

#### getValueRef

    protected ValueRef getValueRef(ExpressionState state)
                            throws EvaluationException

Overrides:
  `getValueRef` in class `SpelNodeImpl`
Throws:
  `EvaluationException`

#### toStringAST

    public String toStringAST()

Specified by:
  `toStringAST` in interface `SpelNode`
Specified by:
  `toStringAST` in class `SpelNodeImpl`
Returns:
  the string form of this AST node