|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.xml.bind.DatatypeConverterImpl
public final class DatatypeConverterImpl
This class is the JAXB RI's default implementation of the
DatatypeConverterInterface
.
When client apps specify the use of the static print/parse
methods in DatatypeConverter
, it will delegate
to this class.
This class is responsible for whitespace normalization.
Field Summary | |
---|---|
static DatatypeConverterInterface |
theInstance
To avoid re-creating instances, we cache one instance. |
Constructor Summary | |
---|---|
protected |
DatatypeConverterImpl()
|
Method Summary | |
---|---|
static byte[] |
_parseBase64Binary(String text)
|
static boolean |
_parseBoolean(CharSequence literal)
|
static byte |
_parseByte(CharSequence literal)
|
static GregorianCalendar |
_parseDateTime(CharSequence s)
|
static BigDecimal |
_parseDecimal(CharSequence content)
|
static double |
_parseDouble(CharSequence _val)
|
static float |
_parseFloat(CharSequence _val)
|
static int |
_parseInt(CharSequence s)
Faster but less robust String->int conversion. |
static BigInteger |
_parseInteger(CharSequence s)
|
static long |
_parseLong(CharSequence s)
|
static QName |
_parseQName(CharSequence text,
NamespaceContext nsc)
|
static short |
_parseShort(CharSequence s)
|
static String |
_printBase64Binary(byte[] input)
|
static String |
_printBase64Binary(byte[] input,
int offset,
int len)
|
static int |
_printBase64Binary(byte[] input,
int offset,
int len,
byte[] out,
int ptr)
Encodes a byte array into another byte array by first doing base64 encoding then encoding the result in ASCII. |
static int |
_printBase64Binary(byte[] input,
int offset,
int len,
char[] buf,
int ptr)
Encodes a byte array into a char array by doing base64 encoding. |
static String |
_printBoolean(boolean val)
|
static String |
_printByte(byte val)
|
static String |
_printDateTime(Calendar val)
|
static String |
_printDecimal(BigDecimal val)
|
static String |
_printDouble(double v)
|
static String |
_printFloat(float v)
|
static String |
_printInt(int val)
|
static String |
_printInteger(BigInteger val)
|
static String |
_printLong(long val)
|
static String |
_printQName(QName val,
NamespaceContext nsc)
|
static String |
_printShort(short val)
|
static char |
encode(int i)
|
static byte |
encodeByte(int i)
|
static String |
installHook(String s)
Just return the string passed as a parameter but installs an instance of this class as the DatatypeConverter implementation. |
String |
parseAnySimpleType(String lexicalXSDAnySimpleType)
|
byte[] |
parseBase64Binary(String lexicalXSDBase64Binary)
|
boolean |
parseBoolean(String lexicalXSDBoolean)
|
byte |
parseByte(String lexicalXSDByte)
|
Calendar |
parseDate(String lexicalXSDDate)
|
Calendar |
parseDateTime(String lexicalXSDDateTime)
|
BigDecimal |
parseDecimal(String content)
|
double |
parseDouble(String lexicalXSDDouble)
|
float |
parseFloat(String lexicalXSDFloat)
|
byte[] |
parseHexBinary(String s)
|
int |
parseInt(String s)
|
BigInteger |
parseInteger(String lexicalXSDInteger)
|
long |
parseLong(String lexicalXSLong)
|
QName |
parseQName(String lexicalXSDQName,
NamespaceContext nsc)
|
short |
parseShort(String lexicalXSDShort)
|
String |
parseString(String lexicalXSDString)
|
Calendar |
parseTime(String lexicalXSDTime)
|
long |
parseUnsignedInt(String lexicalXSDUnsignedInt)
|
int |
parseUnsignedShort(String lexicalXSDUnsignedShort)
|
String |
printAnySimpleType(String val)
|
String |
printBase64Binary(byte[] val)
|
String |
printBoolean(boolean val)
|
String |
printByte(byte val)
|
String |
printDate(Calendar val)
|
String |
printDateTime(Calendar val)
|
String |
printDecimal(BigDecimal val)
|
String |
printDouble(double v)
|
String |
printFloat(float v)
|
String |
printHexBinary(byte[] data)
|
String |
printInt(int val)
|
String |
printInteger(BigInteger val)
|
String |
printLong(long val)
|
String |
printQName(QName val,
NamespaceContext nsc)
|
String |
printShort(short val)
|
String |
printString(String val)
|
String |
printTime(Calendar val)
|
String |
printUnsignedInt(long val)
|
String |
printUnsignedShort(int val)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final DatatypeConverterInterface theInstance
Constructor Detail |
---|
protected DatatypeConverterImpl()
Method Detail |
---|
public String parseString(String lexicalXSDString)
parseString
in interface DatatypeConverterInterface
public BigInteger parseInteger(String lexicalXSDInteger)
parseInteger
in interface DatatypeConverterInterface
public static BigInteger _parseInteger(CharSequence s)
public String printInteger(BigInteger val)
printInteger
in interface DatatypeConverterInterface
public static String _printInteger(BigInteger val)
public int parseInt(String s)
parseInt
in interface DatatypeConverterInterface
public static int _parseInt(CharSequence s)
Integer.valueOf(String)
is not.
Integer.valueOf(String)
doesn't allow any.
public long parseLong(String lexicalXSLong)
parseLong
in interface DatatypeConverterInterface
public static long _parseLong(CharSequence s)
public short parseShort(String lexicalXSDShort)
parseShort
in interface DatatypeConverterInterface
public static short _parseShort(CharSequence s)
public String printShort(short val)
printShort
in interface DatatypeConverterInterface
public static String _printShort(short val)
public BigDecimal parseDecimal(String content)
parseDecimal
in interface DatatypeConverterInterface
public static BigDecimal _parseDecimal(CharSequence content)
public float parseFloat(String lexicalXSDFloat)
parseFloat
in interface DatatypeConverterInterface
public static float _parseFloat(CharSequence _val)
public String printFloat(float v)
printFloat
in interface DatatypeConverterInterface
public static String _printFloat(float v)
public double parseDouble(String lexicalXSDDouble)
parseDouble
in interface DatatypeConverterInterface
public static double _parseDouble(CharSequence _val)
public boolean parseBoolean(String lexicalXSDBoolean)
parseBoolean
in interface DatatypeConverterInterface
public static boolean _parseBoolean(CharSequence literal)
public String printBoolean(boolean val)
printBoolean
in interface DatatypeConverterInterface
public static String _printBoolean(boolean val)
public byte parseByte(String lexicalXSDByte)
parseByte
in interface DatatypeConverterInterface
public static byte _parseByte(CharSequence literal)
public String printByte(byte val)
printByte
in interface DatatypeConverterInterface
public static String _printByte(byte val)
public QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
parseQName
in interface DatatypeConverterInterface
public static QName _parseQName(CharSequence text, NamespaceContext nsc)
public Calendar parseDateTime(String lexicalXSDDateTime)
parseDateTime
in interface DatatypeConverterInterface
public static GregorianCalendar _parseDateTime(CharSequence s)
public String printDateTime(Calendar val)
printDateTime
in interface DatatypeConverterInterface
public static String _printDateTime(Calendar val)
public byte[] parseBase64Binary(String lexicalXSDBase64Binary)
parseBase64Binary
in interface DatatypeConverterInterface
public byte[] parseHexBinary(String s)
parseHexBinary
in interface DatatypeConverterInterface
public String printHexBinary(byte[] data)
printHexBinary
in interface DatatypeConverterInterface
public long parseUnsignedInt(String lexicalXSDUnsignedInt)
parseUnsignedInt
in interface DatatypeConverterInterface
public String printUnsignedInt(long val)
printUnsignedInt
in interface DatatypeConverterInterface
public int parseUnsignedShort(String lexicalXSDUnsignedShort)
parseUnsignedShort
in interface DatatypeConverterInterface
public Calendar parseTime(String lexicalXSDTime)
parseTime
in interface DatatypeConverterInterface
public String printTime(Calendar val)
printTime
in interface DatatypeConverterInterface
public Calendar parseDate(String lexicalXSDDate)
parseDate
in interface DatatypeConverterInterface
public String printDate(Calendar val)
printDate
in interface DatatypeConverterInterface
public String parseAnySimpleType(String lexicalXSDAnySimpleType)
parseAnySimpleType
in interface DatatypeConverterInterface
public String printString(String val)
printString
in interface DatatypeConverterInterface
public String printInt(int val)
printInt
in interface DatatypeConverterInterface
public static String _printInt(int val)
public String printLong(long val)
printLong
in interface DatatypeConverterInterface
public static String _printLong(long val)
public String printDecimal(BigDecimal val)
printDecimal
in interface DatatypeConverterInterface
public static String _printDecimal(BigDecimal val)
public String printDouble(double v)
printDouble
in interface DatatypeConverterInterface
public static String _printDouble(double v)
public String printQName(QName val, NamespaceContext nsc)
printQName
in interface DatatypeConverterInterface
public static String _printQName(QName val, NamespaceContext nsc)
public String printBase64Binary(byte[] val)
printBase64Binary
in interface DatatypeConverterInterface
public String printUnsignedShort(int val)
printUnsignedShort
in interface DatatypeConverterInterface
public String printAnySimpleType(String val)
printAnySimpleType
in interface DatatypeConverterInterface
public static String installHook(String s)
public static byte[] _parseBase64Binary(String text)
text
- base64Binary data is likely to be long, and decoding requires
each character to be accessed twice (once for counting length, another
for decoding.)
A benchmark showed that taking String
is faster, presumably
because JIT can inline a lot of string access (with data of 1K chars, it was twice as fast)public static char encode(int i)
public static byte encodeByte(int i)
public static String _printBase64Binary(byte[] input)
public static String _printBase64Binary(byte[] input, int offset, int len)
public static int _printBase64Binary(byte[] input, int offset, int len, char[] buf, int ptr)
ptr+((len+2)/3)*4
, which is the new offset
in the output buffer where the further bytes should be placed.public static int _printBase64Binary(byte[] input, int offset, int len, byte[] out, int ptr)
ptr+((len+2)/3)*4
, which is the new offset
in the output buffer where the further bytes should be placed.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |