org.springframework.expression.spel.ast
Class OpMultiply
java.lang.Object
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.Operator
org.springframework.expression.spel.ast.OpMultiply
- All Implemented Interfaces:
- SpelNode
public class OpMultiply
- extends Operator
Implements the multiply
operator.
Conversions and promotions are handled as defined in
Section 5.6.2
of the Java Language Specification:
If any of the operands is of a reference type, unboxing conversion (Section 5.1.8) is performed. Then:
If either operand is of type double, the other is converted to double.
Otherwise, if either operand is of type float, the other is converted to float.
Otherwise, if either operand is of type long, the other is converted to long.
Otherwise, both operands are converted to type int.
- Since:
- 3.0
- Author:
- Andy Clement, Sam Brannen
Method Summary |
TypedValue |
getValueInternal(ExpressionState state)
Implements the multiply operator directly here for certain types
of supported operands and otherwise delegates to any registered overloader
for types not supported here. |
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 |
OpMultiply
public OpMultiply(int pos,
SpelNodeImpl... operands)
getValueInternal
public TypedValue getValueInternal(ExpressionState state)
throws EvaluationException
- Implements the
multiply
operator directly here for certain types
of supported operands and otherwise delegates to any registered overloader
for types not supported here.
Supported operand types:
- doubles
- longs
- integers
- String and int ('abc' * 2 == 'abcabc')
- Specified by:
getValueInternal
in class SpelNodeImpl
- Throws:
EvaluationException