public class ELSupport
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static boolean |
COERCE_TO_ZERO |
Constructor and Description |
---|
ELSupport() |
Modifier and Type | Method and Description |
---|---|
static java.lang.Boolean |
coerceToBoolean(ELContext ctx,
java.lang.Object obj,
boolean primitive)
Convert an object to Boolean.
|
static java.lang.Enum<?> |
coerceToEnum(ELContext ctx,
java.lang.Object obj,
java.lang.Class type) |
static java.lang.Number |
coerceToNumber(ELContext ctx,
java.lang.Object obj,
java.lang.Class<?> type) |
protected static java.lang.Number |
coerceToNumber(java.lang.Number number,
java.lang.Class<?> type) |
protected static java.lang.Number |
coerceToNumber(java.lang.String val,
java.lang.Class<?> type) |
static java.lang.String |
coerceToString(ELContext ctx,
java.lang.Object obj)
Coerce an object to a string.
|
static java.lang.Object |
coerceToType(ELContext ctx,
java.lang.Object obj,
java.lang.Class<?> type) |
static int |
compare(ELContext ctx,
java.lang.Object obj0,
java.lang.Object obj1)
Compare two objects, after coercing to the same type if appropriate.
|
static boolean |
equals(ELContext ctx,
java.lang.Object obj0,
java.lang.Object obj1)
Compare two objects for equality, after coercing to the same type if appropriate.
|
static boolean |
isBigDecimalOp(java.lang.Object obj0,
java.lang.Object obj1) |
static boolean |
isBigIntegerOp(java.lang.Object obj0,
java.lang.Object obj1) |
static boolean |
isDoubleOp(java.lang.Object obj0,
java.lang.Object obj1) |
static boolean |
isLongOp(java.lang.Object obj0,
java.lang.Object obj1) |
static boolean |
isStringFloat(java.lang.String str) |
public static final int compare(ELContext ctx, java.lang.Object obj0, java.lang.Object obj1) throws ELException
equals(ELContext, Object, Object)
then return 0.
If either object is a BigDecimal, then coerce both to BigDecimal first.
Similarly for Double(Float), BigInteger, and Long(Integer, Char, Short, Byte).
Otherwise, check that the first object is an instance of Comparable, and compare
against the second object. If that is null, return 1, otherwise
return the result of comparing against the second object.
Similarly, if the second object is Comparable, if the first is null, return -1,
else return the result of comparing against the first object.
A null object is considered as:
ctx
- the context in which this comparison is taking placeobj0
- first objectobj1
- second objectELException
- if neither object is Comparablejava.lang.ClassCastException
- if the objects are not mutually comparablepublic static final boolean equals(ELContext ctx, java.lang.Object obj0, java.lang.Object obj1) throws ELException
ctx
- the context in which this equality test is taking placeobj0
- the first objectobj1
- the second objectELException
- if one of the coercion failspublic static final java.lang.Enum<?> coerceToEnum(ELContext ctx, java.lang.Object obj, java.lang.Class type)
public static final java.lang.Boolean coerceToBoolean(ELContext ctx, java.lang.Object obj, boolean primitive) throws ELException
ctx
- the context in which this conversion is taking placeobj
- the object to convertprimitive
- is the target a primitive in which case coercion to null
is not permittedELException
- if object is not Boolean or Stringprotected static final java.lang.Number coerceToNumber(java.lang.Number number, java.lang.Class<?> type) throws ELException
ELException
public static final java.lang.Number coerceToNumber(ELContext ctx, java.lang.Object obj, java.lang.Class<?> type) throws ELException
ELException
protected static final java.lang.Number coerceToNumber(java.lang.String val, java.lang.Class<?> type) throws ELException
ELException
public static final java.lang.String coerceToString(ELContext ctx, java.lang.Object obj)
ctx
- the context in which this conversion is taking placeobj
- the object to convertpublic static final java.lang.Object coerceToType(ELContext ctx, java.lang.Object obj, java.lang.Class<?> type) throws ELException
ELException
public static final boolean isBigDecimalOp(java.lang.Object obj0, java.lang.Object obj1)
public static final boolean isBigIntegerOp(java.lang.Object obj0, java.lang.Object obj1)
public static final boolean isDoubleOp(java.lang.Object obj0, java.lang.Object obj1)
public static final boolean isLongOp(java.lang.Object obj0, java.lang.Object obj1)
public static final boolean isStringFloat(java.lang.String str)
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.