src/main/java/ognl/OgnlOps.java
public static int getNumericType(Object v1, Object v2, boolean canBeNonNumeric)
    {
        return getNumericType(getNumericType(v1), getNumericType(v2), canBeNonNumeric);
    }
public static int getNumericType(Object v1, Object v2, boolean canBeNonNumeric)
    {
        return getNumericType(getNumericType(v1), getNumericType(v2), canBeNonNumeric);
    }
public static int getNumericType ( Object v1 , Object v2 , boolean canBeNonNumeric ) { return getNumericType ( getNumericType ( v1 ) , getNumericType ( v2 ) , canBeNonNumeric ) ; }
Returns the constant from the NumericTypes interface that best expresses the type of an
operation, which can be either numeric or not, on the two given objects.

@param v1
one argument to an operator
@param v2
the other argument
@param canBeNonNumeric
whether the operator can be interpreted as non-numeric
@return the appropriate constant from the NumericTypes interface
Returns the constant from the NumericTypes interface that best expresses the type of an operation which can be either numeric or not on the two given objects .