org.codehaus.stax2.ri.typed
Class ValueDecoderFactory.DecoderBase

java.lang.Object
  extended by org.codehaus.stax2.typed.TypedValueDecoder
      extended by 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
protected  int mNextPtr
          Pointer to the next character to check, within lexical value
 
Constructor Summary
protected ValueDecoderFactory.DecoderBase()
           
 
Method Summary
protected  String _clean(String str)
           
protected  IllegalArgumentException constructInvalidValue(char[] lexical, int startOffset, int end)
           
protected  IllegalArgumentException constructInvalidValue(String lexical)
           
abstract  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  String lexicalDesc(char[] lexical, int startOffset, int end)
           
protected  String lexicalDesc(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, String digitChars, int start, int end)
           
protected static int parseInt(String digitChars, int start, int end)
           
protected static long parseLong(char[] digitChars, int start, int end)
           
protected static long parseLong(String digitChars, int start, int end)
           
protected  int skipSignAndZeroes(char[] lexical, char ch, boolean hasSign, int start, int end)
           
protected  int skipSignAndZeroes(String lexical, char ch, boolean hasSign, int end)
           
protected  void verifyDigits(char[] lexical, int start, int end, int ptr)
           
protected  void verifyDigits(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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mNextPtr

protected int mNextPtr
Pointer to the next character to check, within lexical value

Constructor Detail

ValueDecoderFactory.DecoderBase

protected ValueDecoderFactory.DecoderBase()
Method Detail

getType

public abstract 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 class TypedValueDecoder

verifyDigits

protected void verifyDigits(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(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(String digitChars,
                                    int start,
                                    int end)

parseInt

protected static final int parseInt(int num,
                                    String digitChars,
                                    int start,
                                    int end)

parseLong

protected static final long parseLong(char[] digitChars,
                                      int start,
                                      int end)

parseLong

protected static final long parseLong(String digitChars,
                                      int start,
                                      int end)

constructInvalidValue

protected IllegalArgumentException constructInvalidValue(String lexical)

constructInvalidValue

protected IllegalArgumentException constructInvalidValue(char[] lexical,
                                                         int startOffset,
                                                         int end)

lexicalDesc

protected String lexicalDesc(char[] lexical,
                             int startOffset,
                             int end)

lexicalDesc

protected String lexicalDesc(String lexical)

_clean

protected String _clean(String str)