public interface DatatypeConverterInterface
The DatatypeConverterInterface is a helper class for
implementation of custom print() and parse()
methods, as specified by jaxb:javaType/@printMethod and
jaxb:javaType/@parseMethod. However, the JAXB user won't
be accessing this class directly. The JAXB provider is required to
create an instance of this class and pass it to the JAXB runtime by
invoking
DatatypeConverter.setDatatypeConverter(DatatypeConverterInterface).
The JAXB user may access this instance via the static methods of
DatatypeConverter.
The interface provides methods parseFoo() and
printFoo() for any XML Schema type foo.
The parseFoo() method must accept any lexically valid
value and convert it into the corresponding canonical value. An error
in the conversion routine must be mapped to a
ParseConversionEvent.
The printFoo(foo pValue) method must convert the value
pValue into an arbitrary lexical representation. It is
recommended to use the default representation.
DatatypeConverter,
ParseConversionEvent,
PrintConversionEvent| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
parseAnySimpleType(java.lang.String pLexicalXSDAnySimpleType)
Returns the lexical representation of the input string, which is
the unmodified input string.
|
byte[] |
parseBase64Binary(java.lang.String pLexicalXSDBase64Binary)
Parses the lexical representation of the given byte array, which
is encoded in base 64.
|
boolean |
parseBoolean(java.lang.String pLexicalXSDBoolean)
Parses the lexical representation of the given boolean value
and converts it into a primitive
boolean value. |
byte |
parseByte(java.lang.String pLexicalXSDByte)
Parses the lexical representation of the given 8 bit integer value
and converts it into a primitive
byte value. |
java.util.Calendar |
parseDate(java.lang.String pLexicalXSDDate)
Parses the lexical representation of the given date value
and converts it into an instance of
Calendar. |
java.util.Calendar |
parseDateTime(java.lang.String pLexicalXSDDateTime)
Parses the lexical representation of the given dateTime value
and converts it into an instance of
Calendar. |
java.math.BigDecimal |
parseDecimal(java.lang.String pLexicalXSDDecimal)
Parses the lexical representation of the given decimal value
(arbitrary precision) and converts it into an instance of
BigDecimal. |
double |
parseDouble(java.lang.String pLexicalXSDDouble)
Parses the lexical representation of the given 64 bit floating
point value and converts it into a primitive
double value. |
float |
parseFloat(java.lang.String pLexicalXSDFloat)
Parses the lexical representation of the given 32 bit floating
point value and converts it into a primitive
float value. |
byte[] |
parseHexBinary(java.lang.String pLexicalXSDHexBinary)
Parses the lexical representation of the given byte array, which
is encoded in hex digits.
|
int |
parseInt(java.lang.String pLexicalXSDInt)
Parses the lexical representation of the given 32 bit integer value
and converts it into a primitive
int value. |
java.math.BigInteger |
parseInteger(java.lang.String pLexicalXSDInteger)
Parses the lexical representation of the given integer value
(arbitrary precision) and converts it into an instance of
BigInteger. |
long |
parseLong(java.lang.String pLexicalXSDLong)
Parses the lexical representation of the given 64 bit integer value
and converts it into a primitive
long value. |
QName |
parseQName(java.lang.String pLexicalXSDQName,
NamespaceContext pNamespaceContext)
Parses the lexical representation of the given qualified name
and converts it into an instance of
QName. |
short |
parseShort(java.lang.String pLexicalXSDShort)
Parses the lexical representation of the given 16 bit integer value
and converts it into a primitive
short value. |
java.lang.String |
parseString(java.lang.String pLexicalXSDString)
Parses the lexical representation and converts it into a String.
|
java.util.Calendar |
parseTime(java.lang.String pLexicalXSDTime)
Parses the lexical representation of the given time value
and converts it into an instance of
Calendar. |
long |
parseUnsignedInt(java.lang.String pLexicalXSDUnsignedInt)
Parses the lexical representation of the given 32 bit
unsignet integer value and converts it into a primitive
long
value. |
int |
parseUnsignedShort(java.lang.String pLexicalXSDUnsignedShort)
Parses the lexical representation of the given 16 bit
unsignet integer value and converts it into a primitive
int
value. |
java.lang.String |
printAnySimpleType(java.lang.String pValue)
Returns a lexical representation of the given input
string, which is the unmodified input string.
|
java.lang.String |
printBase64Binary(byte[] pValue)
Returns a lexical representation of the given byte array.
|
java.lang.String |
printBoolean(boolean pValue)
Returns a lexical representation of the given primitive
boolean value.
|
java.lang.String |
printByte(byte pValue)
Returns a lexical representation of the given primitive
8 bit integer.
|
java.lang.String |
printDate(java.util.Calendar pValue)
Returns a lexical representation of the given date
value.
|
java.lang.String |
printDateTime(java.util.Calendar pValue)
Returns a lexical representation of the given dateTime
value.
|
java.lang.String |
printDecimal(java.math.BigDecimal pValue)
Returns a lexical representation of the given instance of
BigDecimal, which is a decimal number in arbitrary
precision. |
java.lang.String |
printDouble(double pValue)
Returns a lexical representation of the given primitive
64 bit floating point number.
|
java.lang.String |
printFloat(float pValue)
Returns a lexical representation of the given primitive
32 bit floating point number.
|
java.lang.String |
printHexBinary(byte[] pValue)
Returns a lexical representation of the given byte array.
|
java.lang.String |
printInt(int pValue)
Returns a lexical representation of the given primitive
32 bit integer.
|
java.lang.String |
printInteger(java.math.BigInteger pValue)
Returns a lexical representation of the given instance of
BigInteger, which is an integer in arbitrary precision. |
java.lang.String |
printLong(long pValue)
Returns a lexical representation of the given primitive
64 bit integer.
|
java.lang.String |
printQName(QName pValue,
NamespaceContext pNamespaceContext)
Returns a lexical representation of the given qualified
name, which is a combination of namespace URI and local name.
|
java.lang.String |
printShort(short pValue)
Returns a lexical representation of the given primitive
16 bit integer.
|
java.lang.String |
printString(java.lang.String pValue)
Returns a lexical representation of the given input string, which
is the unmodified input string.
|
java.lang.String |
printTime(java.util.Calendar pValue)
Returns a lexical representation of the given time
value.
|
java.lang.String |
printUnsignedInt(long pValue)
Returns a lexical representation of the given primitive,
unsigned 32 bit integer.
|
java.lang.String |
printUnsignedShort(int pValue)
Returns a lexical representation of the given primitive,
unsigned 16 bit integer.
|
java.lang.String parseString(java.lang.String pLexicalXSDString)
Parses the lexical representation and converts it into a String.
pLexicalXSDString - The input string being parsed.ParseConversionEventjava.math.BigInteger parseInteger(java.lang.String pLexicalXSDInteger)
Parses the lexical representation of the given integer value
(arbitrary precision) and converts it into an instance of
BigInteger.
pLexicalXSDInteger - The input string being parsed.BigInteger.ParseConversionEventint parseInt(java.lang.String pLexicalXSDInt)
Parses the lexical representation of the given 32 bit integer value
and converts it into a primitive int value.
pLexicalXSDInt - The input string being parsed.int.ParseConversionEventlong parseLong(java.lang.String pLexicalXSDLong)
Parses the lexical representation of the given 64 bit integer value
and converts it into a primitive long value.
pLexicalXSDLong - The input string being parsed.long.ParseConversionEventshort parseShort(java.lang.String pLexicalXSDShort)
Parses the lexical representation of the given 16 bit integer value
and converts it into a primitive short value.
pLexicalXSDShort - The input string being parsed.short.ParseConversionEventjava.math.BigDecimal parseDecimal(java.lang.String pLexicalXSDDecimal)
Parses the lexical representation of the given decimal value
(arbitrary precision) and converts it into an instance of
BigDecimal.
pLexicalXSDDecimal - The input string being parsed.BigDecimal.ParseConversionEventfloat parseFloat(java.lang.String pLexicalXSDFloat)
Parses the lexical representation of the given 32 bit floating
point value and converts it into a primitive float value.
pLexicalXSDFloat - The input string being parsed.float.ParseConversionEventdouble parseDouble(java.lang.String pLexicalXSDDouble)
Parses the lexical representation of the given 64 bit floating
point value and converts it into a primitive double value.
pLexicalXSDDouble - The input string being parsed.double.ParseConversionEventboolean parseBoolean(java.lang.String pLexicalXSDBoolean)
Parses the lexical representation of the given boolean value
and converts it into a primitive boolean value.
pLexicalXSDBoolean - The input string being parsed.boolean.ParseConversionEventbyte parseByte(java.lang.String pLexicalXSDByte)
Parses the lexical representation of the given 8 bit integer value
and converts it into a primitive byte value.
pLexicalXSDByte - The input string being parsed.byte.ParseConversionEventQName parseQName(java.lang.String pLexicalXSDQName, NamespaceContext pNamespaceContext)
Parses the lexical representation of the given qualified name
and converts it into an instance of QName.
The QName consists of a namespace URI
and a local name.
pLexicalXSDQName - The input string being parsed, an optional
namespace prefix, followed by the local name, if any. If a prefix
is present, they are separated by a colon.pNamespaceContext - The namespace context is used to query
mappings between prefixes and namespace URI's.QName.ParseConversionEventjava.util.Calendar parseDateTime(java.lang.String pLexicalXSDDateTime)
Parses the lexical representation of the given dateTime value
and converts it into an instance of Calendar.
Valid lexical representations of a dateTime value include
YYYY-MM-DDThh:mm:ss YYYY-MM-DDThh:mm:ss.sss YYYY-MM-DDThh:mm:ssZ YYYY-MM-DDThh:mm:ss-01:00The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.
pLexicalXSDDateTime - The input string being parsed.Calendar.ParseConversionEventbyte[] parseBase64Binary(java.lang.String pLexicalXSDBase64Binary)
Parses the lexical representation of the given byte array, which is encoded in base 64.
pLexicalXSDBase64Binary - The input string being parsed, a
base 64 encoded array of bytes.ParseConversionEventbyte[] parseHexBinary(java.lang.String pLexicalXSDHexBinary)
Parses the lexical representation of the given byte array, which is encoded in hex digits.
pLexicalXSDHexBinary - The input string being parsed, an
array of bytes encoded in hex digits.ParseConversionEventlong parseUnsignedInt(java.lang.String pLexicalXSDUnsignedInt)
Parses the lexical representation of the given 32 bit
unsignet integer value and converts it into a primitive long
value.
pLexicalXSDUnsignedInt - The input string being parsed.long.ParseConversionEventint parseUnsignedShort(java.lang.String pLexicalXSDUnsignedShort)
Parses the lexical representation of the given 16 bit
unsignet integer value and converts it into a primitive int
value.
pLexicalXSDUnsignedShort - The input string being parsed.int.ParseConversionEventjava.util.Calendar parseTime(java.lang.String pLexicalXSDTime)
Parses the lexical representation of the given time value
and converts it into an instance of Calendar.
Valid lexical representations of a time value include
hh:mm:ss hh:mm:ss.sss hh:mm:ssZ hh:mm:ss-01:00The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.
pLexicalXSDTime - The input string being parsed.Calendar.ParseConversionEventjava.util.Calendar parseDate(java.lang.String pLexicalXSDDate)
Parses the lexical representation of the given date value
and converts it into an instance of Calendar.
Valid lexical representations of a date value include
YYYY-MM-DD YYYY-MM-DDZ YYYY-MM-DD-01:00The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.
pLexicalXSDDate - The input string being parsed.Calendar.ParseConversionEventjava.lang.String parseAnySimpleType(java.lang.String pLexicalXSDAnySimpleType)
Returns the lexical representation of the input string, which is the unmodified input string.
pLexicalXSDAnySimpleType - An input string in lexical representation.ParseConversionEventjava.lang.String printString(java.lang.String pValue)
Returns a lexical representation of the given input string, which is the unmodified input string.
pValue - The input string.PrintConversionEventjava.lang.String printInteger(java.math.BigInteger pValue)
Returns a lexical representation of the given instance of
BigInteger, which is an integer in arbitrary precision.
pValue - The integer value being converted.PrintConversionEventjava.lang.String printInt(int pValue)
Returns a lexical representation of the given primitive 32 bit integer.
pValue - The int value being converted.PrintConversionEventjava.lang.String printLong(long pValue)
Returns a lexical representation of the given primitive 64 bit integer.
pValue - The long value being converted.PrintConversionEventjava.lang.String printShort(short pValue)
Returns a lexical representation of the given primitive 16 bit integer.
pValue - The short value being converted.PrintConversionEventjava.lang.String printDecimal(java.math.BigDecimal pValue)
Returns a lexical representation of the given instance of
BigDecimal, which is a decimal number in arbitrary
precision.
pValue - The decimal value being converted.PrintConversionEventjava.lang.String printFloat(float pValue)
Returns a lexical representation of the given primitive 32 bit floating point number.
pValue - The float value being converted.PrintConversionEventjava.lang.String printDouble(double pValue)
Returns a lexical representation of the given primitive 64 bit floating point number.
pValue - The double value being converted.PrintConversionEventjava.lang.String printBoolean(boolean pValue)
Returns a lexical representation of the given primitive boolean value.
pValue - The boolean value being converted.PrintConversionEventjava.lang.String printByte(byte pValue)
Returns a lexical representation of the given primitive 8 bit integer.
pValue - The byte value being converted.PrintConversionEventjava.lang.String printQName(QName pValue, NamespaceContext pNamespaceContext)
Returns a lexical representation of the given qualified name, which is a combination of namespace URI and local name. The lexical representation is an optional prefix, which is currently mapped to namespace URI of the qualified name, followed by a colon and the local name. If the namespace URI is the current default namespace URI, then the prefix and the colon may be omitted.
pValue - The qualified name being converted.pNamespaceContext - A mapping of prefixes to namespace
URI's which may be used to determine a valid prefix.PrintConversionEventjava.lang.String printDateTime(java.util.Calendar pValue)
Returns a lexical representation of the given dateTime value. Valid lexical representations include:
YYYY-MM-DDThh:mm:ss YYYY-MM-DDThh:mm:ss.sss YYYY-MM-DDThh:mm:ssZ YYYY-MM-DDThh:mm:ss-01:00The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.
pValue - The dateTime value being convertedPrintConversionEventjava.lang.String printBase64Binary(byte[] pValue)
Returns a lexical representation of the given byte array. The lexical representation is obtained by application of the base 64 encoding.
pValue - The byte array being converted.PrintConversionEventjava.lang.String printHexBinary(byte[] pValue)
Returns a lexical representation of the given byte array. The lexical representation is obtained by encoding any byte as two hex digits.
pValue - The byte array being converted.PrintConversionEventjava.lang.String printUnsignedInt(long pValue)
Returns a lexical representation of the given primitive, unsigned 32 bit integer.
pValue - The long value being converted.PrintConversionEventjava.lang.String printUnsignedShort(int pValue)
Returns a lexical representation of the given primitive, unsigned 16 bit integer.
pValue - The short value being converted.PrintConversionEventjava.lang.String printTime(java.util.Calendar pValue)
Returns a lexical representation of the given time value. Valid lexical representations include:
hh:mm:ss hh:mm:ss.sss hh:mm:ssZ hh:mm:ss-01:00The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.
pValue - The time value being convertedPrintConversionEventjava.lang.String printDate(java.util.Calendar pValue)
Returns a lexical representation of the given date value. Valid lexical representations include:
YYYY-MM-DD YYYY-MM-DDZ YYYY-MM-DD-01:00The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.
pValue - The date value being convertedPrintConversionEventjava.lang.String printAnySimpleType(java.lang.String pValue)
Returns a lexical representation of the given input string, which is the unmodified input string.
pValue - The input string.PrintConversionEvent