@Override @Nullable public <T> T getValue(EvaluationContext context, Object rootObject, @Nullable Class<T> desiredResultType) throws EvaluationException { Object value = getValue(context, rootObject); return ExpressionUtils.convertTypedValue(context, new TypedValue(value), desiredResultType); }
/** * Attempt to convert a typed value to a float using the supplied type converter. */ public static float toFloat(TypeConverter typeConverter, TypedValue typedValue) { return convertValue(typeConverter, typedValue, Float.class); }
private void populateBooleanArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { boolean[] newBooleanArray = (boolean[]) newArray; for (int i = 0; i < newBooleanArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newBooleanArray[i] = ExpressionUtils.toBoolean(typeConverter, typedValue); } }
private void populateIntArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { int[] newIntArray = (int[]) newArray; for (int i = 0; i < newIntArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newIntArray[i] = ExpressionUtils.toInt(typeConverter, typedValue); } }
private void populateFloatArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { float[] newFloatArray = (float[]) newArray; for (int i = 0; i < newFloatArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newFloatArray[i] = ExpressionUtils.toFloat(typeConverter, typedValue); } }
private void populateDoubleArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { double[] newDoubleArray = (double[]) newArray; for (int i = 0; i < newDoubleArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newDoubleArray[i] = ExpressionUtils.toDouble(typeConverter, typedValue); } }
private void populateLongArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { long[] newLongArray = (long[]) newArray; for (int i = 0; i < newLongArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newLongArray[i] = ExpressionUtils.toLong(typeConverter, typedValue); } }
private void populateByteArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { byte[] newByteArray = (byte[]) newArray; for (int i = 0; i < newByteArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newByteArray[i] = ExpressionUtils.toByte(typeConverter, typedValue); } }
private void populateCharArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { char[] newCharArray = (char[]) newArray; for (int i = 0; i < newCharArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newCharArray[i] = ExpressionUtils.toChar(typeConverter, typedValue); } }
private void populateIntArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { int[] newIntArray = (int[]) newArray; for (int i = 0; i < newIntArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newIntArray[i] = ExpressionUtils.toInt(typeConverter, typedValue); } }
private void populateFloatArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { float[] newFloatArray = (float[]) newArray; for (int i = 0; i < newFloatArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newFloatArray[i] = ExpressionUtils.toFloat(typeConverter, typedValue); } }
private void populateDoubleArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { double[] newDoubleArray = (double[]) newArray; for (int i = 0; i < newDoubleArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newDoubleArray[i] = ExpressionUtils.toDouble(typeConverter, typedValue); } }
private void populateLongArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { long[] newLongArray = (long[]) newArray; for (int i = 0; i < newLongArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newLongArray[i] = ExpressionUtils.toLong(typeConverter, typedValue); } }
private void populateByteArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { byte[] newByteArray = (byte[]) newArray; for (int i = 0; i < newByteArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newByteArray[i] = ExpressionUtils.toByte(typeConverter, typedValue); } }
private void populateCharArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { char[] newCharArray = (char[]) newArray; for (int i = 0; i < newCharArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newCharArray[i] = ExpressionUtils.toChar(typeConverter, typedValue); } }
@Override @Nullable public <T> T getValue(@Nullable Class<T> expectedResultType) throws EvaluationException { Object value = getValue(); return ExpressionUtils.convertTypedValue(null, new TypedValue(value), expectedResultType); }
/** * Attempt to convert a typed value to an int using the supplied type converter. */ public static int toInt(TypeConverter typeConverter, TypedValue typedValue) { return convertValue(typeConverter, typedValue, Integer.class); }
int arraySize = ExpressionUtils.toInt(typeConverter, o); newArray = Array.newInstance(componentType, arraySize); for (int d = 0; d < this.dimensions.length; d++) { TypedValue o = this.dimensions[d].getTypedValue(state); dims[d] = ExpressionUtils.toInt(typeConverter, o); int i = ExpressionUtils.toInt(typeConverter, dValue); if (i != initializer.getChildCount()) { throw new SpelEvaluationException(getStartPosition(), SpelMessage.INITIALIZER_LENGTH_INCORRECT);
private void populateFloatArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { float[] newFloatArray = (float[]) newArray; for (int i = 0; i < newFloatArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newFloatArray[i] = ExpressionUtils.toFloat(typeConverter, typedValue); } }
private void populateDoubleArray(ExpressionState state, Object newArray, TypeConverter typeConverter, InlineList initializer) { double[] newDoubleArray = (double[]) newArray; for (int i = 0; i < newDoubleArray.length; i++) { TypedValue typedValue = initializer.getChild(i).getTypedValue(state); newDoubleArray[i] = ExpressionUtils.toDouble(typeConverter, typedValue); } }