javax.xml.bind

Interface DatatypeConverterInterface

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 {@link javax.xml.bind.DatatypeConverter#setDatatypeConverter(DatatypeConverterInterface)}. The JAXB user may access this instance via the static methods of {@link javax.xml.bind.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 {@link javax.xml.bind.ParseConversionEvent}.

The printFoo(foo pValue) method must convert the value pValue into an arbitrary lexical representation. It is recommended to use the default representation.

Since: JAXB 1.0

Author: JSR-31

See Also: DatatypeConverter ParseConversionEvent PrintConversionEvent

Method Summary
StringparseAnySimpleType(String pLexicalXSDAnySimpleType)

Returns the lexical representation of the input string, which is the unmodified input string.

byte[]parseBase64Binary(String pLexicalXSDBase64Binary)

Parses the lexical representation of the given byte array, which is encoded in base 64.

booleanparseBoolean(String pLexicalXSDBoolean)

Parses the lexical representation of the given boolean value and converts it into a primitive boolean value.

byteparseByte(String pLexicalXSDByte)

Parses the lexical representation of the given 8 bit integer value and converts it into a primitive byte value.

CalendarparseDate(String pLexicalXSDDate)

Parses the lexical representation of the given date value and converts it into an instance of {@link java.util.Calendar}.

CalendarparseDateTime(String pLexicalXSDDateTime)

Parses the lexical representation of the given dateTime value and converts it into an instance of {@link java.util.Calendar}.

BigDecimalparseDecimal(String pLexicalXSDDecimal)

Parses the lexical representation of the given decimal value (arbitrary precision) and converts it into an instance of {@link java.math.BigDecimal}.

doubleparseDouble(String pLexicalXSDDouble)

Parses the lexical representation of the given 64 bit floating point value and converts it into a primitive double value.

floatparseFloat(String pLexicalXSDFloat)

Parses the lexical representation of the given 32 bit floating point value and converts it into a primitive float value.

byte[]parseHexBinary(String pLexicalXSDHexBinary)

Parses the lexical representation of the given byte array, which is encoded in hex digits.

intparseInt(String pLexicalXSDInt)

Parses the lexical representation of the given 32 bit integer value and converts it into a primitive int value.

BigIntegerparseInteger(String pLexicalXSDInteger)

Parses the lexical representation of the given integer value (arbitrary precision) and converts it into an instance of {@link java.math.BigInteger}.

longparseLong(String pLexicalXSDLong)

Parses the lexical representation of the given 64 bit integer value and converts it into a primitive long value.

QNameparseQName(String pLexicalXSDQName, NamespaceContext pNamespaceContext)

Parses the lexical representation of the given qualified name and converts it into an instance of {@link javax.xml.namespace.QName}.

shortparseShort(String pLexicalXSDShort)

Parses the lexical representation of the given 16 bit integer value and converts it into a primitive short value.

StringparseString(String pLexicalXSDString)

Parses the lexical representation and converts it into a String.

CalendarparseTime(String pLexicalXSDTime)

Parses the lexical representation of the given time value and converts it into an instance of {@link java.util.Calendar}.

longparseUnsignedInt(String pLexicalXSDUnsignedInt)

Parses the lexical representation of the given 32 bit unsignet integer value and converts it into a primitive long value.

intparseUnsignedShort(String pLexicalXSDUnsignedShort)

Parses the lexical representation of the given 16 bit unsignet integer value and converts it into a primitive int value.

StringprintAnySimpleType(String pValue)

Returns a lexical representation of the given input string, which is the unmodified input string.

StringprintBase64Binary(byte[] pValue)

Returns a lexical representation of the given byte array.

StringprintBoolean(boolean pValue)

Returns a lexical representation of the given primitive boolean value.

StringprintByte(byte pValue)

Returns a lexical representation of the given primitive 8 bit integer.

StringprintDate(Calendar pValue)

Returns a lexical representation of the given date value.

StringprintDateTime(Calendar pValue)

Returns a lexical representation of the given dateTime value.

StringprintDecimal(BigDecimal pValue)

Returns a lexical representation of the given instance of {@link BigDecimal}, which is a decimal number in arbitrary precision.

StringprintDouble(double pValue)

Returns a lexical representation of the given primitive 64 bit floating point number.

StringprintFloat(float pValue)

Returns a lexical representation of the given primitive 32 bit floating point number.

StringprintHexBinary(byte[] pValue)

Returns a lexical representation of the given byte array.

StringprintInt(int pValue)

Returns a lexical representation of the given primitive 32 bit integer.

StringprintInteger(BigInteger pValue)

Returns a lexical representation of the given instance of {@link BigInteger}, which is an integer in arbitrary precision.

StringprintLong(long pValue)

Returns a lexical representation of the given primitive 64 bit integer.

StringprintQName(QName pValue, NamespaceContext pNamespaceContext)

Returns a lexical representation of the given qualified name, which is a combination of namespace URI and local name.

StringprintShort(short pValue)

Returns a lexical representation of the given primitive 16 bit integer.

StringprintString(String pValue)

Returns a lexical representation of the given input string, which is the unmodified input string.

StringprintTime(Calendar pValue)

Returns a lexical representation of the given time value.

StringprintUnsignedInt(long pValue)

Returns a lexical representation of the given primitive, unsigned 32 bit integer.

StringprintUnsignedShort(int pValue)

Returns a lexical representation of the given primitive, unsigned 16 bit integer.

Method Detail

parseAnySimpleType

public String parseAnySimpleType(String pLexicalXSDAnySimpleType)

Returns the lexical representation of the input string, which is the unmodified input string.

Parameters: pLexicalXSDAnySimpleType An input string in lexical representation.

Returns: The unmodified input string.

See Also: ParseConversionEvent

parseBase64Binary

public byte[] parseBase64Binary(String pLexicalXSDBase64Binary)

Parses the lexical representation of the given byte array, which is encoded in base 64.

Parameters: pLexicalXSDBase64Binary The input string being parsed, a base 64 encoded array of bytes.

Returns: The decoded byte array.

See Also: ParseConversionEvent

parseBoolean

public boolean parseBoolean(String pLexicalXSDBoolean)

Parses the lexical representation of the given boolean value and converts it into a primitive boolean value.

Parameters: pLexicalXSDBoolean The input string being parsed.

Returns: The input string converted into a primitive boolean.

See Also: ParseConversionEvent

parseByte

public byte parseByte(String pLexicalXSDByte)

Parses the lexical representation of the given 8 bit integer value and converts it into a primitive byte value.

Parameters: pLexicalXSDByte The input string being parsed.

Returns: The input string converted into a primitive byte.

See Also: ParseConversionEvent

parseDate

public Calendar parseDate(String pLexicalXSDDate)

Parses the lexical representation of the given date value and converts it into an instance of {@link java.util.Calendar}. Valid lexical representations of a date value include

   YYYY-MM-DD
   YYYY-MM-DDZ
   YYYY-MM-DD-01:00
 
The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.

Parameters: pLexicalXSDDate The input string being parsed.

Returns: The input string converted into an instance of {@link java.util.Calendar}.

See Also: ParseConversionEvent

parseDateTime

public Calendar parseDateTime(String pLexicalXSDDateTime)

Parses the lexical representation of the given dateTime value and converts it into an instance of {@link java.util.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:00
 
The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.

Parameters: pLexicalXSDDateTime The input string being parsed.

Returns: The input string converted into an instance of {@link java.util.Calendar}.

See Also: ParseConversionEvent

parseDecimal

public BigDecimal parseDecimal(String pLexicalXSDDecimal)

Parses the lexical representation of the given decimal value (arbitrary precision) and converts it into an instance of {@link java.math.BigDecimal}.

Parameters: pLexicalXSDDecimal The input string being parsed.

Returns: The input string converted into an instance of {@link java.math.BigDecimal}.

See Also: ParseConversionEvent

parseDouble

public double parseDouble(String pLexicalXSDDouble)

Parses the lexical representation of the given 64 bit floating point value and converts it into a primitive double value.

Parameters: pLexicalXSDDouble The input string being parsed.

Returns: The input string converted into a primitive double.

See Also: ParseConversionEvent

parseFloat

public float parseFloat(String pLexicalXSDFloat)

Parses the lexical representation of the given 32 bit floating point value and converts it into a primitive float value.

Parameters: pLexicalXSDFloat The input string being parsed.

Returns: The input string converted into a primitive float.

See Also: ParseConversionEvent

parseHexBinary

public byte[] parseHexBinary(String pLexicalXSDHexBinary)

Parses the lexical representation of the given byte array, which is encoded in hex digits.

Parameters: pLexicalXSDHexBinary The input string being parsed, an array of bytes encoded in hex digits.

Returns: The decoded byte array.

See Also: ParseConversionEvent

parseInt

public int parseInt(String pLexicalXSDInt)

Parses the lexical representation of the given 32 bit integer value and converts it into a primitive int value.

Parameters: pLexicalXSDInt The input string being parsed.

Returns: The input string converted into a primitive int.

See Also: ParseConversionEvent

parseInteger

public BigInteger parseInteger(String pLexicalXSDInteger)

Parses the lexical representation of the given integer value (arbitrary precision) and converts it into an instance of {@link java.math.BigInteger}.

Parameters: pLexicalXSDInteger The input string being parsed.

Returns: The input string converted into an instance of {@link BigInteger}.

See Also: ParseConversionEvent

parseLong

public long parseLong(String pLexicalXSDLong)

Parses the lexical representation of the given 64 bit integer value and converts it into a primitive long value.

Parameters: pLexicalXSDLong The input string being parsed.

Returns: The input string converted into a primitive long.

See Also: ParseConversionEvent

parseQName

public QName parseQName(String pLexicalXSDQName, NamespaceContext pNamespaceContext)

Parses the lexical representation of the given qualified name and converts it into an instance of {@link javax.xml.namespace.QName}. The {@link javax.xml.namespace.QName} consists of a namespace URI and a local name.

Parameters: 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.

Returns: The input string converted into an instance of {@link javax.xml.namespace.QName}.

See Also: ParseConversionEvent

parseShort

public short parseShort(String pLexicalXSDShort)

Parses the lexical representation of the given 16 bit integer value and converts it into a primitive short value.

Parameters: pLexicalXSDShort The input string being parsed.

Returns: The input string converted into a primitive short.

See Also: ParseConversionEvent

parseString

public String parseString(String pLexicalXSDString)

Parses the lexical representation and converts it into a String.

Parameters: pLexicalXSDString The input string being parsed.

Returns: The unmodified input string.

See Also: ParseConversionEvent

parseTime

public Calendar parseTime(String pLexicalXSDTime)

Parses the lexical representation of the given time value and converts it into an instance of {@link java.util.Calendar}. Valid lexical representations of a time value include

   hh:mm:ss
   hh:mm:ss.sss
   hh:mm:ssZ
   hh:mm:ss-01:00
 
The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.

Parameters: pLexicalXSDTime The input string being parsed.

Returns: The input string converted into an instance of {@link java.util.Calendar}.

See Also: ParseConversionEvent

parseUnsignedInt

public long parseUnsignedInt(String pLexicalXSDUnsignedInt)

Parses the lexical representation of the given 32 bit unsignet integer value and converts it into a primitive long value.

Parameters: pLexicalXSDUnsignedInt The input string being parsed.

Returns: The input string converted into a primitive long.

See Also: ParseConversionEvent

parseUnsignedShort

public int parseUnsignedShort(String pLexicalXSDUnsignedShort)

Parses the lexical representation of the given 16 bit unsignet integer value and converts it into a primitive int value.

Parameters: pLexicalXSDUnsignedShort The input string being parsed.

Returns: The input string conve rted into a primitive int.

See Also: ParseConversionEvent

printAnySimpleType

public String printAnySimpleType(String pValue)

Returns a lexical representation of the given input string, which is the unmodified input string.

Parameters: pValue The input string.

Returns: The unmodified input string.

See Also: PrintConversionEvent

printBase64Binary

public 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.

Parameters: pValue The byte array being converted.

Returns: The converted byte array.

See Also: PrintConversionEvent

printBoolean

public String printBoolean(boolean pValue)

Returns a lexical representation of the given primitive boolean value.

Parameters: pValue The boolean value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printByte

public String printByte(byte pValue)

Returns a lexical representation of the given primitive 8 bit integer.

Parameters: pValue The byte value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printDate

public String printDate(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:00
 
The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.

Parameters: pValue The date value being converted

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printDateTime

public String printDateTime(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:00
 
The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.

Parameters: pValue The dateTime value being converted

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printDecimal

public String printDecimal(BigDecimal pValue)

Returns a lexical representation of the given instance of {@link BigDecimal}, which is a decimal number in arbitrary precision.

Parameters: pValue The decimal value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printDouble

public String printDouble(double pValue)

Returns a lexical representation of the given primitive 64 bit floating point number.

Parameters: pValue The double value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printFloat

public String printFloat(float pValue)

Returns a lexical representation of the given primitive 32 bit floating point number.

Parameters: pValue The float value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printHexBinary

public 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.

Parameters: pValue The byte array being converted.

Returns: The converted byte array.

See Also: PrintConversionEvent

printInt

public String printInt(int pValue)

Returns a lexical representation of the given primitive 32 bit integer.

Parameters: pValue The int value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printInteger

public String printInteger(BigInteger pValue)

Returns a lexical representation of the given instance of {@link BigInteger}, which is an integer in arbitrary precision.

Parameters: pValue The integer value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printLong

public String printLong(long pValue)

Returns a lexical representation of the given primitive 64 bit integer.

Parameters: pValue The long value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printQName

public 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.

Parameters: pValue The qualified name being converted. pNamespaceContext A mapping of prefixes to namespace URI's which may be used to determine a valid prefix.

Returns: A lexical representation of the qualified name.

See Also: PrintConversionEvent

printShort

public String printShort(short pValue)

Returns a lexical representation of the given primitive 16 bit integer.

Parameters: pValue The short value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printString

public String printString(String pValue)

Returns a lexical representation of the given input string, which is the unmodified input string.

Parameters: pValue The input string.

Returns: The unmodified input string.

See Also: PrintConversionEvent

printTime

public String printTime(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:00
 
The former examples are all specified in UTC time. The last example uses a negatice offset of one hour to UTC.

Parameters: pValue The time value being converted

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printUnsignedInt

public String printUnsignedInt(long pValue)

Returns a lexical representation of the given primitive, unsigned 32 bit integer.

Parameters: pValue The long value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent

printUnsignedShort

public String printUnsignedShort(int pValue)

Returns a lexical representation of the given primitive, unsigned 16 bit integer.

Parameters: pValue The short value being converted.

Returns: A lexical representation of the input value.

See Also: PrintConversionEvent