Supported structures are: strings / collections (lists/sets) / arrays.
| Modifier and Type | Class and Description |
|---|---|
| private class | |
| private class | |
| private static enum | |
| private class | |
| private class | |
| private class |
| Modifier and Type | Field and Description |
|---|---|
| private PropertyAccessor | |
| private String | |
| private Class | |
| private PropertyAccessor | |
| private String | |
| private Class | |
| private Indexer. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private Object | |
| private void | |
| private <T> T | |
| public void | generateCode(MethodVisitor
the ASM MethodVisitor into which code should be generated mv, CodeFlow a context object with info about what is on the stack cf)Overrides org. Generate the bytecode for this node into the supplied visitor. |
| public TypedValue | getValueInternal(ExpressionState state)
Implements abstract org.
|
| protected ValueRef | |
| public boolean | isCompilable()
Overrides org. Check whether a node can be compiled to bytecode. |
| public boolean | isWritable(ExpressionState
the current expression state (includes the context) expressionState)Overrides org. Implements org. Determine if this expression node will support a setValue() call. |
| private void | setArrayElement(TypeConverter converter, Object ctx, int idx, Object newValue, Class<?> arrayComponentType)
|
| public TypedValue | setValueInternal(ExpressionState
the current expression state (includes the context) state, Supplier<TypedValue> a supplier of the new value valueSupplier)Overrides org. Evaluate the expression to a node and then set the new value created by the
specified |
| public String | toStringAST()
Implements org. Return the string form of this AST node. |
| cachedReadAccessor | back to summary |
|---|---|
| private PropertyAccessor cachedReadAccessor
| |
| cachedReadName | back to summary |
|---|---|
| private String cachedReadName
| |
| cachedReadTargetType | back to summary |
|---|---|
| private Class<?> cachedReadTargetType
| |
| cachedWriteAccessor | back to summary |
|---|---|
| private PropertyAccessor cachedWriteAccessor
| |
| cachedWriteName | back to summary |
|---|---|
| private String cachedWriteName
| |
| cachedWriteTargetType | back to summary |
|---|---|
| private Class<?> cachedWriteTargetType
| |
| indexedType | back to summary |
|---|---|
| private Indexer. | |
| Indexer | back to summary |
|---|---|
| public Indexer(int startPos, int endPos, SpelNodeImpl expr) | |
| accessArrayElement | back to summary |
|---|---|
| private Object accessArrayElement(Object ctx, int idx) throws SpelEvaluationException | |
| checkAccess | back to summary |
|---|---|
| private void checkAccess(int arrayLength, int index) throws SpelEvaluationException | |
| convertValue | back to summary |
|---|---|
private <T> T convertValue(TypeConverter converter, Object value, Class<T> targetType)
| |
| generateCode | back to summary |
|---|---|
| public void generateCode(MethodVisitor mv, CodeFlow cf) Overrides org. Doc from org. Generate the bytecode for this node into the supplied visitor. Context info about the current expression being compiled is available in the codeflow object, e.g. including information about the type of the object currently on the stack.
| |
| getValueInternal | back to summary |
|---|---|
| public TypedValue getValueInternal(ExpressionState state) throws EvaluationException Implements abstract org.
| |
| getValueRef | back to summary |
|---|---|
| protected ValueRef getValueRef(ExpressionState state) throws EvaluationException Overrides org.
| |
| isCompilable | back to summary |
|---|---|
| public boolean isCompilable() Overrides org. Doc from org. Check whether a node can be compiled to bytecode. The reasoning in each node may be different but will typically involve checking whether the exit type descriptor of the node is known and any relevant child nodes are compilable.
| |
| isWritable | back to summary |
|---|---|
| public boolean isWritable(ExpressionState expressionState) throws SpelEvaluationException Overrides org. Implements org. Doc from org. Determine if this expression node will support a setValue() call.
| |
| setArrayElement | back to summary |
|---|---|
| private void setArrayElement(TypeConverter converter, Object ctx, int idx, Object newValue, Class<?> arrayComponentType) throws EvaluationException | |
| setValueInternal | back to summary |
|---|---|
| public TypedValue setValueInternal(ExpressionState state, Supplier<TypedValue> valueSupplier) throws EvaluationException Overrides org. Doc from org. Evaluate the expression to a node and then set the new value created by the
specified For example, if the expression evaluates to a property reference, then the property will be set to the new value. Favor this method over By default, this method throws a
| |
| toStringAST | back to summary |
|---|---|
| public String toStringAST() Implements org. Doc from org. Return the string form of this AST node. | |
| Modifier and Type | Field and Description |
|---|---|
| private final Object | |
| private final int | |
| private final TypeConverter | |
| private final TypeDescriptor |
| Access | Constructor and Description |
|---|---|
| pack-priv | ArrayIndexingValueRef(TypeConverter typeConverter, Object array, int index, TypeDescriptor typeDescriptor)
|
| Modifier and Type | Method and Description |
|---|---|
| public TypedValue | getValue()
Implements org. Returns the value this ValueRef points to, it should not require expression component re-evaluation. |
| public boolean | isWritable()
Implements org. Indicates whether calling setValue(Object) is supported. |
| public void | setValue(Object
the new value newValue)Implements org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. |
| array | back to summary |
|---|---|
| private final Object array | |
| index | back to summary |
|---|---|
| private final int index | |
| typeConverter | back to summary |
|---|---|
| private final TypeConverter typeConverter | |
| typeDescriptor | back to summary |
|---|---|
| private final TypeDescriptor typeDescriptor | |
| ArrayIndexingValueRef | back to summary |
|---|---|
| pack-priv ArrayIndexingValueRef(TypeConverter typeConverter, Object array, int index, TypeDescriptor typeDescriptor) | |
| getValue | back to summary |
|---|---|
| public TypedValue getValue() Implements org. Doc from org. Returns the value this ValueRef points to, it should not require expression component re-evaluation.
| |
| isWritable | back to summary |
|---|---|
| public boolean isWritable() Implements org. Doc from org. Indicates whether calling setValue(Object) is supported.
| |
| setValue | back to summary |
|---|---|
| public void setValue(Object newValue) Implements org. Doc from org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. | |
| Modifier and Type | Field and Description |
|---|---|
| private final Collection | |
| private final TypeDescriptor | |
| private final boolean | |
| private final int | |
| private final int | |
| private final TypeConverter |
| Access | Constructor and Description |
|---|---|
| public | CollectionIndexingValueRef(Collection<E> collection, int index, TypeDescriptor collectionEntryDescriptor, TypeConverter typeConverter, boolean growCollection, int maximumSize)
|
| Modifier and Type | Method and Description |
|---|---|
| private Constructor | |
| public TypedValue | getValue()
Implements org. Returns the value this ValueRef points to, it should not require expression component re-evaluation. |
| private void | |
| public boolean | isWritable()
Implements org. Indicates whether calling setValue(Object) is supported. |
| public void | setValue(Object
the new value newValue)Implements org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. |
| collection | back to summary |
|---|---|
| private final Collection<E> collection | |
| collectionEntryDescriptor | back to summary |
|---|---|
| private final TypeDescriptor collectionEntryDescriptor | |
| growCollection | back to summary |
|---|---|
| private final boolean growCollection | |
| index | back to summary |
|---|---|
| private final int index | |
| maximumSize | back to summary |
|---|---|
| private final int maximumSize | |
| typeConverter | back to summary |
|---|---|
| private final TypeConverter typeConverter | |
| CollectionIndexingValueRef | back to summary |
|---|---|
| public CollectionIndexingValueRef(Collection<E> collection, int index, TypeDescriptor collectionEntryDescriptor, TypeConverter typeConverter, boolean growCollection, int maximumSize) | |
| getDefaultConstructor | back to summary |
|---|---|
private Constructor
| |
| getValue | back to summary |
|---|---|
| public TypedValue getValue() Implements org. Doc from org. Returns the value this ValueRef points to, it should not require expression component re-evaluation.
| |
| growCollectionIfNecessary | back to summary |
|---|---|
| private void growCollectionIfNecessary() | |
| isWritable | back to summary |
|---|---|
| public boolean isWritable() Implements org. Doc from org. Indicates whether calling setValue(Object) is supported.
| |
| setValue | back to summary |
|---|---|
| public void setValue(Object newValue) Implements org. Doc from org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. | |
| Modifier and Type | Field and Description |
|---|---|
| public static final Indexer. | |
| public static final Indexer. | |
| public static final Indexer. | |
| public static final Indexer. | |
| public static final Indexer. |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public static Indexer. | |
| public static Indexer. |
| ARRAY | back to summary |
|---|---|
| public static final Indexer. | |
| LIST | back to summary |
|---|---|
| public static final Indexer. | |
| MAP | back to summary |
|---|---|
| public static final Indexer. | |
| OBJECT | back to summary |
|---|---|
| public static final Indexer. | |
| STRING | back to summary |
|---|---|
| public static final Indexer. | |
| IndexedType | back to summary |
|---|---|
| private IndexedType() | |
| valueOf | back to summary |
|---|---|
| public static Indexer. | |
| values | back to summary |
|---|---|
| public static Indexer. | |
| Modifier and Type | Field and Description |
|---|---|
| private final Object | |
| private final Map | |
| private final TypeDescriptor | |
| private final TypeConverter |
| Access | Constructor and Description |
|---|---|
| public | MapIndexingValueRef(TypeConverter typeConverter, Map<K, V> map, Object key, TypeDescriptor mapEntryDescriptor)
|
| Modifier and Type | Method and Description |
|---|---|
| public TypedValue | getValue()
Implements org. Returns the value this ValueRef points to, it should not require expression component re-evaluation. |
| public boolean | isWritable()
Implements org. Indicates whether calling setValue(Object) is supported. |
| public void | setValue(Object
the new value newValue)Implements org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. |
| key | back to summary |
|---|---|
| private final Object key
| |
| map | back to summary |
|---|---|
| private final Map<K, V> map | |
| mapEntryDescriptor | back to summary |
|---|---|
| private final TypeDescriptor mapEntryDescriptor | |
| typeConverter | back to summary |
|---|---|
| private final TypeConverter typeConverter | |
| MapIndexingValueRef | back to summary |
|---|---|
| public MapIndexingValueRef(TypeConverter typeConverter, Map<K, V> map, Object key, TypeDescriptor mapEntryDescriptor) | |
| getValue | back to summary |
|---|---|
| public TypedValue getValue() Implements org. Doc from org. Returns the value this ValueRef points to, it should not require expression component re-evaluation.
| |
| isWritable | back to summary |
|---|---|
| public boolean isWritable() Implements org. Doc from org. Indicates whether calling setValue(Object) is supported.
| |
| setValue | back to summary |
|---|---|
| public void setValue(Object newValue) Implements org. Doc from org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. | |
| Modifier and Type | Field and Description |
|---|---|
| private final EvaluationContext | |
| private final String | |
| private final Object | |
| private final TypeDescriptor |
| Access | Constructor and Description |
|---|---|
| public | PropertyIndexingValueRef(Object targetObject, String value, EvaluationContext evaluationContext, TypeDescriptor targetObjectTypeDescriptor)
|
| Modifier and Type | Method and Description |
|---|---|
| public TypedValue | getValue()
Implements org. Returns the value this ValueRef points to, it should not require expression component re-evaluation. |
| public boolean | isWritable()
Implements org. Indicates whether calling setValue(Object) is supported. |
| public void | setValue(Object
the new value newValue)Implements org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. |
| evaluationContext | back to summary |
|---|---|
| private final EvaluationContext evaluationContext | |
| name | back to summary |
|---|---|
| private final String name | |
| targetObject | back to summary |
|---|---|
| private final Object targetObject | |
| targetObjectTypeDescriptor | back to summary |
|---|---|
| private final TypeDescriptor targetObjectTypeDescriptor | |
| PropertyIndexingValueRef | back to summary |
|---|---|
| public PropertyIndexingValueRef(Object targetObject, String value, EvaluationContext evaluationContext, TypeDescriptor targetObjectTypeDescriptor) | |
| getValue | back to summary |
|---|---|
| public TypedValue getValue() Implements org. Doc from org. Returns the value this ValueRef points to, it should not require expression component re-evaluation.
| |
| isWritable | back to summary |
|---|---|
| public boolean isWritable() Implements org. Doc from org. Indicates whether calling setValue(Object) is supported.
| |
| setValue | back to summary |
|---|---|
| public void setValue(Object newValue) Implements org. Doc from org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. | |
| Modifier and Type | Field and Description |
|---|---|
| private final int | |
| private final String | |
| private final TypeDescriptor |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public TypedValue | getValue()
Implements org. Returns the value this ValueRef points to, it should not require expression component re-evaluation. |
| public boolean | isWritable()
Implements org. Indicates whether calling setValue(Object) is supported. |
| public void | setValue(Object
the new value newValue)Implements org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. |
| index | back to summary |
|---|---|
| private final int index | |
| target | back to summary |
|---|---|
| private final String target | |
| typeDescriptor | back to summary |
|---|---|
| private final TypeDescriptor typeDescriptor | |
| StringIndexingValueRef | back to summary |
|---|---|
| public StringIndexingValueRef(String target, int index, TypeDescriptor typeDescriptor) | |
| getValue | back to summary |
|---|---|
| public TypedValue getValue() Implements org. Doc from org. Returns the value this ValueRef points to, it should not require expression component re-evaluation.
| |
| isWritable | back to summary |
|---|---|
| public boolean isWritable() Implements org. Doc from org. Indicates whether calling setValue(Object) is supported.
| |
| setValue | back to summary |
|---|---|
| public void setValue(Object newValue) Implements org. Doc from org. Sets the value this ValueRef points to, it should not require expression component re-evaluation. | |