public final class SafeFloatParser
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 |
---|
SafeFloatParser() |
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 float |
floatValue(java.math.BigDecimal bigDecimal)
Safe way of getting the float value
Prevents BigDecimal from calling Float.parseFloat() |
static float |
floatValue(java.lang.Number number)
Safe way of getting the float value
prevents BigDecimal from calling Float.parseFloat() |
protected static boolean |
isSuspicious(java.lang.String s)
Heuristic test if we should look closer at the value
|
static java.lang.Float |
parseFloat(java.lang.String s)
Safe way of parsing a Float value from a String
|
static java.lang.Float |
valueOf(java.lang.String s)
Safe way of parsing a Float 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.Float valueOf(java.lang.String s)
s
- The input Stringpublic static java.lang.Float parseFloat(java.lang.String s)
s
- The input Stringpublic static float floatValue(java.lang.Number number)
number
- public static float floatValue(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-2020 JRuby. All Rights Reserved.