Package org.codehaus.stax2.ri.typed
Class ValueDecoderFactory.DecoderBase
- java.lang.Object
-
- org.codehaus.stax2.typed.TypedValueDecoder
-
- org.codehaus.stax2.ri.typed.ValueDecoderFactory.DecoderBase
-
- Direct Known Subclasses:
ValueDecoderFactory.BooleanDecoder
,ValueDecoderFactory.DecimalDecoder
,ValueDecoderFactory.DoubleDecoder
,ValueDecoderFactory.FloatDecoder
,ValueDecoderFactory.IntDecoder
,ValueDecoderFactory.IntegerDecoder
,ValueDecoderFactory.LongDecoder
,ValueDecoderFactory.QNameDecoder
- Enclosing class:
- ValueDecoderFactory
public abstract static class ValueDecoderFactory.DecoderBase extends TypedValueDecoder
There are some things common to all textual decoders (like white space trimming).
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.math.BigInteger
BD_MAX_LONG
(package private) static java.math.BigInteger
BD_MIN_LONG
(package private) static long
L_BILLION
(package private) static long
L_MAX_INT
(package private) static long
L_MIN_INT
protected int
mNextPtr
Pointer to the next character to check, within lexical value
-
Constructor Summary
Constructors Modifier Constructor Description protected
DecoderBase()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
_clean(java.lang.String str)
protected java.lang.IllegalArgumentException
constructInvalidValue(char[] lexical, int startOffset, int end)
protected java.lang.IllegalArgumentException
constructInvalidValue(java.lang.String lexical)
abstract java.lang.String
getType()
void
handleEmptyValue()
Method called if the value to decode does not contain any non-white space characters (including the case where typed accessor is called for an empty element).protected java.lang.String
lexicalDesc(char[] lexical, int startOffset, int end)
protected java.lang.String
lexicalDesc(java.lang.String lexical)
protected static int
parseInt(char[] digitChars, int start, int end)
Fast method for parsing integers that are known to fit into regular 32-bit signed int type.protected static int
parseInt(int num, char[] digitChars, int start, int end)
protected static int
parseInt(int num, java.lang.String digitChars, int start, int end)
protected static int
parseInt(java.lang.String digitChars, int start, int end)
protected static long
parseLong(char[] digitChars, int start, int end)
protected static long
parseLong(java.lang.String digitChars, int start, int end)
protected int
skipSignAndZeroes(char[] lexical, char ch, boolean hasSign, int start, int end)
protected int
skipSignAndZeroes(java.lang.String lexical, char ch, boolean hasSign, int end)
protected void
verifyDigits(char[] lexical, int start, int end, int ptr)
protected void
verifyDigits(java.lang.String lexical, int start, int end)
Method called to check that remaining String consists of zero or more digits-
Methods inherited from class org.codehaus.stax2.typed.TypedValueDecoder
decode, decode
-
-
-
-
Field Detail
-
L_BILLION
static final long L_BILLION
- See Also:
- Constant Field Values
-
L_MAX_INT
static final long L_MAX_INT
- See Also:
- Constant Field Values
-
L_MIN_INT
static final long L_MIN_INT
- See Also:
- Constant Field Values
-
BD_MIN_LONG
static final java.math.BigInteger BD_MIN_LONG
-
BD_MAX_LONG
static final java.math.BigInteger BD_MAX_LONG
-
mNextPtr
protected int mNextPtr
Pointer to the next character to check, within lexical value
-
-
Method Detail
-
getType
public abstract java.lang.String getType()
-
handleEmptyValue
public void handleEmptyValue()
Method called if the value to decode does not contain any non-white space characters (including the case where typed accessor is called for an empty element).- Specified by:
handleEmptyValue
in classTypedValueDecoder
-
verifyDigits
protected void verifyDigits(java.lang.String lexical, int start, int end)
Method called to check that remaining String consists of zero or more digits
-
verifyDigits
protected void verifyDigits(char[] lexical, int start, int end, int ptr)
-
skipSignAndZeroes
protected int skipSignAndZeroes(java.lang.String lexical, char ch, boolean hasSign, int end)
- Returns:
- Numeric value of the first non-zero character (or, in case of a zero value, zero)
-
skipSignAndZeroes
protected int skipSignAndZeroes(char[] lexical, char ch, boolean hasSign, int start, int end)
-
parseInt
protected static final int parseInt(char[] digitChars, int start, int end)
Fast method for parsing integers that are known to fit into regular 32-bit signed int type. This means that length is between 1 and 9 digits (inclusive)- Returns:
- Parsed integer value
-
parseInt
protected static final int parseInt(int num, char[] digitChars, int start, int end)
-
parseInt
protected static final int parseInt(java.lang.String digitChars, int start, int end)
-
parseInt
protected static final int parseInt(int num, java.lang.String digitChars, int start, int end)
-
parseLong
protected static final long parseLong(char[] digitChars, int start, int end)
-
parseLong
protected static final long parseLong(java.lang.String digitChars, int start, int end)
-
constructInvalidValue
protected java.lang.IllegalArgumentException constructInvalidValue(java.lang.String lexical)
-
constructInvalidValue
protected java.lang.IllegalArgumentException constructInvalidValue(char[] lexical, int startOffset, int end)
-
lexicalDesc
protected java.lang.String lexicalDesc(char[] lexical, int startOffset, int end)
-
lexicalDesc
protected java.lang.String lexicalDesc(java.lang.String lexical)
-
_clean
protected java.lang.String _clean(java.lang.String str)
-
-