It can be used as a unary operator for numbers. The standard promotions are performed when the operand types vary (double+int=double). For other options it defers to the registered overloader.
| Modifier and Type | Field and Description |
|---|---|
| private static final int | MAX_CONCATENATED_STRING_LENGTH
Maximum number of characters permitted in a concatenated string. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private void | |
| private TypedValue | |
| private static String | Returns: TypedValue instance converted to Stringtyped value to be converted value, ExpressionState expression state state)Convert operand value to string using registered converter or using
|
| 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. |
| public SpelNodeImpl | |
| public TypedValue | getValueInternal(ExpressionState state)
Implements abstract org. |
| public boolean | isCompilable()
Overrides org. |
| public String | toStringAST()
Overrides org. Implements org. '(' [operand] [operator] [operand] ')'.
|
| private void | walk(MethodVisitor mv, CodeFlow cf, SpelNodeImpl operand)
Walk through a possible tree of nodes that combine strings and append them all to the same (on stack) StringBuilder. |
| MAX_CONCATENATED_STRING_LENGTH | back to summary |
|---|---|
| private static final int MAX_CONCATENATED_STRING_LENGTH Maximum number of characters permitted in a concatenated string.
| |
| OpPlus | back to summary |
|---|---|
| public OpPlus(int startPos, int endPos, SpelNodeImpl... operands) | |
| checkStringLength | back to summary |
|---|---|
| private void checkStringLength(String string) | |
| concatenate | back to summary |
|---|---|
| private TypedValue concatenate(String leftString, String rightString) | |
| convertTypedValueToString | back to summary |
|---|---|
| private static String convertTypedValueToString(TypedValue value, ExpressionState state) Convert operand value to string using registered converter or using
| |
| 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.
| |
| getRightOperand | back to summary |
|---|---|
| public SpelNodeImpl getRightOperand() Overrides org.
| |
| getValueInternal | back to summary |
|---|---|
| public TypedValue getValueInternal(ExpressionState state) throws EvaluationException Implements abstract 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.
| |
| toStringAST | back to summary |
|---|---|
| public String toStringAST() Overrides org. Implements org. Doc from org. String format for all operators is the same
| |
| walk | back to summary |
|---|---|
| private void walk(MethodVisitor mv, CodeFlow cf, SpelNodeImpl operand) Walk through a possible tree of nodes that combine strings and append them all to the same (on stack) StringBuilder. | |