public final class SafeDoubleParser
extends java.lang.Object
Prevents brute force attacks using the famous Java bug.
Modifier and Type | Field and Description |
---|---|
protected static java.math.BigDecimal |
LOWER
Lower allowed value
|
protected static java.math.BigDecimal |
MIDDLE
The middle of the bad interval - used for rounding bad values
|
protected static java.math.BigDecimal |
TWO
Constant 2
|
protected static java.math.BigDecimal |
UPPER
Upper allowed value
|
Constructor and Description |
---|
SafeDoubleParser() |
Modifier and Type | Method and Description |
---|---|
protected static double |
decimalValue(java.math.BigDecimal bigDecimal)
Safe way of getting the double value
Prevents BigDecimal from calling Double.parseDouble() |
protected static double |
decimalValue(java.lang.Number number)
Safe way of getting the double value
prevents BigDecimal from calling Double.parseDouble() |
protected static java.lang.Double |
decimalValueOf(java.lang.String s)
Safe parsing of a String into a Double
|
static double |
doubleValue(java.math.BigDecimal bigDecimal)
Safe way of getting the double value
Prevents BigDecimal from calling Double.parseDouble() |
static double |
doubleValue(java.lang.Number number)
Safe way of getting the double value
prevents BigDecimal from calling Double.parseDouble() |
protected static boolean |
isSuspicious(java.lang.String s)
Heuristic test if we should look closer at the value
|
static java.lang.Double |
parseDouble(java.lang.String s)
Safe way of parsing a Double value from a String
|
static java.lang.Double |
valueOf(java.lang.String s)
Safe way of parsing a Double value from a String
|
protected static final java.math.BigDecimal TWO
protected static final java.math.BigDecimal LOWER
protected static final java.math.BigDecimal UPPER
protected static final java.math.BigDecimal MIDDLE
public static java.lang.Double valueOf(java.lang.String s)
s
- The input Stringpublic static java.lang.Double parseDouble(java.lang.String s)
s
- The input Stringpublic static double doubleValue(java.lang.Number number)
number
- public static double doubleValue(java.math.BigDecimal bigDecimal)
bigDecimal
- protected static final boolean isSuspicious(java.lang.String s)
s
- The non-null input Stringtrue
if the value is suspicious, false
otherwiseprotected static final java.lang.Double decimalValueOf(java.lang.String s)
s
- The input String, can be nullprotected static final double decimalValue(java.lang.Number number)
number
- protected static final double decimalValue(java.math.BigDecimal bigDecimal)
bigDecimal
- Copyright © 2001-2018 JRuby. All Rights Reserved.