-
public interface DatatypeConverterInterface
The DatatypeConverterInterface is for JAXB provider use only. A JAXB provider must supply a class that implements this interface. JAXB Providers are required to call the
DatatypeConverter.setDatatypeConverter
api at some point before the first marshal or unmarshal operation (perhaps during the call to JAXBContext.newInstance). This step is necessary to configure the converter that should be used to perform the print and parse functionality. Calling this api repeatedly will have no effect - the DatatypeConverter instance passed into the first invocation is the one that will be used from then on.This interface defines the parse and print methods. There is one parse and print method for each XML schema datatype specified in the the default binding Table 5-1 in the JAXB specification.
The parse and print methods defined here are invoked by the static parse and print methods defined in the
DatatypeConverter
class.A parse method for a XML schema datatype must be capable of converting any lexical representation of the XML schema datatype ( specified by the XML Schema Part2: Datatypes specification into a value in the value space of the XML schema datatype. If an error is encountered during conversion, then an IllegalArgumentException or a subclass of IllegalArgumentException must be thrown by the method.
A print method for a XML schema datatype can output any lexical representation that is valid with respect to the XML schema datatype. If an error is encountered during conversion, then an IllegalArgumentException, or a subclass of IllegalArgumentException must be thrown by the method.
The prefix xsd: is used to refer to XML schema datatypes XML Schema Part2: Datatypes specification.
- Since:
- 1.6, JAXB 1.0
- See Also:
DatatypeConverter
,ParseConversionEvent
,PrintConversionEvent
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
parseAnySimpleType(String lexicalXSDAnySimpleType)
Return a string containing the lexical representation of the simple type.byte[]
parseBase64Binary(String lexicalXSDBase64Binary)
Converts the string argument into an array of bytes.boolean
parseBoolean(String lexicalXSDBoolean)
Converts the string argument into a boolean value.byte
parseByte(String lexicalXSDByte)
Converts the string argument into a byte value.Calendar
parseDate(String lexicalXSDDate)
Converts the string argument into a Calendar value.Calendar
parseDateTime(String lexicalXSDDateTime)
Converts the string argument into a Calendar value.BigDecimal
parseDecimal(String lexicalXSDDecimal)
Converts the string argument into a BigDecimal value.double
parseDouble(String lexicalXSDDouble)
Converts the string argument into a double value.float
parseFloat(String lexicalXSDFloat)
Converts the string argument into a float value.byte[]
parseHexBinary(String lexicalXSDHexBinary)
Converts the string argument into an array of bytes.int
parseInt(String lexicalXSDInt)
Convert the string argument into an int value.BigInteger
parseInteger(String lexicalXSDInteger)
Convert the string argument into a BigInteger value.long
parseLong(String lexicalXSDLong)
Converts the string argument into a long value.QName
parseQName(String lexicalXSDQName, NamespaceContext nsc)
Converts the string argument into a QName value.short
parseShort(String lexicalXSDShort)
Converts the string argument into a short value.String
parseString(String lexicalXSDString)
Convert the string argument into a string.Calendar
parseTime(String lexicalXSDTime)
Converts the string argument into a Calendar value.long
parseUnsignedInt(String lexicalXSDUnsignedInt)
Converts the string argument into a long value.int
parseUnsignedShort(String lexicalXSDUnsignedShort)
Converts the string argument into an int value.String
printAnySimpleType(String val)
Converts a string value into a string.String
printBase64Binary(byte[] val)
Converts an array of bytes into a string.String
printBoolean(boolean val)
Converts a boolean value into a string.String
printByte(byte val)
Converts a byte value into a string.String
printDate(Calendar val)
Converts a Calendar value into a string.String
printDateTime(Calendar val)
Converts a Calendar value into a string.String
printDecimal(BigDecimal val)
Converts a BigDecimal value into a string.String
printDouble(double val)
Converts a double value into a string.String
printFloat(float val)
Converts a float value into a string.String
printHexBinary(byte[] val)
Converts an array of bytes into a string.String
printInt(int val)
Converts an int value into a string.String
printInteger(BigInteger val)
Converts a BigInteger value into a string.String
printLong(long val)
Converts a long value into a string.String
printQName(QName val, NamespaceContext nsc)
Converts a QName instance into a string.String
printShort(short val)
Converts a short value into a string.String
printString(String val)
Converts the string argument into a string.String
printTime(Calendar val)
Converts a Calendar value into a string.String
printUnsignedInt(long val)
Converts a long value into a string.String
printUnsignedShort(int val)
Converts an int value into a string.
-
-
-
Method Detail
-
parseString
String parseString(String lexicalXSDString)
Convert the string argument into a string.- Parameters:
lexicalXSDString
- A lexical representation of the XML Schema datatype xsd:string- Returns:
- A string that is the same as the input string.
-
parseInteger
BigInteger parseInteger(String lexicalXSDInteger)
Convert the string argument into a BigInteger value.- Parameters:
lexicalXSDInteger
- A string containing a lexical representation of xsd:integer.- Returns:
- A BigInteger value represented by the string argument.
- Throws:
NumberFormatException
-lexicalXSDInteger
is not a valid string representation of aBigInteger
value.
-
parseInt
int parseInt(String lexicalXSDInt)
Convert the string argument into an int value.- Parameters:
lexicalXSDInt
- A string containing a lexical representation of xsd:int.- Returns:
- An int value represented byte the string argument.
- Throws:
NumberFormatException
-lexicalXSDInt
is not a valid string representation of anint
value.
-
parseLong
long parseLong(String lexicalXSDLong)
Converts the string argument into a long value.- Parameters:
lexicalXSDLong
- A string containing lexical representation of xsd:long.- Returns:
- A long value represented by the string argument.
- Throws:
NumberFormatException
-lexicalXSDLong
is not a valid string representation of along
value.
-
parseShort
short parseShort(String lexicalXSDShort)
Converts the string argument into a short value.- Parameters:
lexicalXSDShort
- A string containing lexical representation of xsd:short.- Returns:
- A short value represented by the string argument.
- Throws:
NumberFormatException
-lexicalXSDShort
is not a valid string representation of ashort
value.
-
parseDecimal
BigDecimal parseDecimal(String lexicalXSDDecimal)
Converts the string argument into a BigDecimal value.- Parameters:
lexicalXSDDecimal
- A string containing lexical representation of xsd:decimal.- Returns:
- A BigDecimal value represented by the string argument.
- Throws:
NumberFormatException
-lexicalXSDDecimal
is not a valid string representation ofBigDecimal
.
-
parseFloat
float parseFloat(String lexicalXSDFloat)
Converts the string argument into a float value.- Parameters:
lexicalXSDFloat
- A string containing lexical representation of xsd:float.- Returns:
- A float value represented by the string argument.
- Throws:
NumberFormatException
-lexicalXSDFloat
is not a valid string representation of afloat
value.
-
parseDouble
double parseDouble(String lexicalXSDDouble)
Converts the string argument into a double value.- Parameters:
lexicalXSDDouble
- A string containing lexical representation of xsd:double.- Returns:
- A double value represented by the string argument.
- Throws:
NumberFormatException
-lexicalXSDDouble
is not a valid string representation of adouble
value.
-
parseBoolean
boolean parseBoolean(String lexicalXSDBoolean)
Converts the string argument into a boolean value.- Parameters:
lexicalXSDBoolean
- A string containing lexical representation of xsd:boolean.- Returns:
- A boolean value represented by the string argument.
- Throws:
IllegalArgumentException
- if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:boolean.
-
parseByte
byte parseByte(String lexicalXSDByte)
Converts the string argument into a byte value.- Parameters:
lexicalXSDByte
- A string containing lexical representation of xsd:byte.- Returns:
- A byte value represented by the string argument.
- Throws:
NumberFormatException
-lexicalXSDByte
does not contain a parseable byte.IllegalArgumentException
- if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:byte.
-
parseQName
QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
Converts the string argument into a QName value.String parameter
lexicalXSDQname
must conform to lexical value space specifed at XML Schema Part 2:Datatypes specification:QNames- Parameters:
lexicalXSDQName
- A string containing lexical representation of xsd:QName.nsc
- A namespace context for interpreting a prefix within a QName.- Returns:
- A QName value represented by the string argument.
- Throws:
IllegalArgumentException
- if string parameter does not conform to XML Schema Part 2 specification or if namespace prefix oflexicalXSDQname
is not bound to a URI in NamespaceContextnsc
.
-
parseDateTime
Calendar parseDateTime(String lexicalXSDDateTime)
Converts the string argument into a Calendar value.- Parameters:
lexicalXSDDateTime
- A string containing lexical representation of xsd:datetime.- Returns:
- A Calendar object represented by the string argument.
- Throws:
IllegalArgumentException
- if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:dateTime.
-
parseBase64Binary
byte[] parseBase64Binary(String lexicalXSDBase64Binary)
Converts the string argument into an array of bytes.- Parameters:
lexicalXSDBase64Binary
- A string containing lexical representation of xsd:base64Binary.- Returns:
- An array of bytes represented by the string argument.
- Throws:
IllegalArgumentException
- if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:base64Binary
-
parseHexBinary
byte[] parseHexBinary(String lexicalXSDHexBinary)
Converts the string argument into an array of bytes.- Parameters:
lexicalXSDHexBinary
- A string containing lexical representation of xsd:hexBinary.- Returns:
- An array of bytes represented by the string argument.
- Throws:
IllegalArgumentException
- if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:hexBinary.
-
parseUnsignedInt
long parseUnsignedInt(String lexicalXSDUnsignedInt)
Converts the string argument into a long value.- Parameters:
lexicalXSDUnsignedInt
- A string containing lexical representation of xsd:unsignedInt.- Returns:
- A long value represented by the string argument.
- Throws:
NumberFormatException
- if string parameter can not be parsed into along
value.
-
parseUnsignedShort
int parseUnsignedShort(String lexicalXSDUnsignedShort)
Converts the string argument into an int value.- Parameters:
lexicalXSDUnsignedShort
- A string containing lexical representation of xsd:unsignedShort.- Returns:
- An int value represented by the string argument.
- Throws:
NumberFormatException
- if string parameter can not be parsed into anint
value.
-
parseTime
Calendar parseTime(String lexicalXSDTime)
Converts the string argument into a Calendar value.- Parameters:
lexicalXSDTime
- A string containing lexical representation of xsd:Time.- Returns:
- A Calendar value represented by the string argument.
- Throws:
IllegalArgumentException
- if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:Time.
-
parseDate
Calendar parseDate(String lexicalXSDDate)
Converts the string argument into a Calendar value.- Parameters:
lexicalXSDDate
- A string containing lexical representation of xsd:Date.- Returns:
- A Calendar value represented by the string argument.
- Throws:
IllegalArgumentException
- if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:Date.
-
parseAnySimpleType
String parseAnySimpleType(String lexicalXSDAnySimpleType)
Return a string containing the lexical representation of the simple type.- Parameters:
lexicalXSDAnySimpleType
- A string containing lexical representation of the simple type.- Returns:
- A string containing the lexical representation of the simple type.
-
printString
String printString(String val)
Converts the string argument into a string.- Parameters:
val
- A string value.- Returns:
- A string containing a lexical representation of xsd:string
-
printInteger
String printInteger(BigInteger val)
Converts a BigInteger value into a string.- Parameters:
val
- A BigInteger value- Returns:
- A string containing a lexical representation of xsd:integer
- Throws:
IllegalArgumentException
-val
is null.
-
printInt
String printInt(int val)
Converts an int value into a string.- Parameters:
val
- An int value- Returns:
- A string containing a lexical representation of xsd:int
-
printLong
String printLong(long val)
Converts a long value into a string.- Parameters:
val
- A long value- Returns:
- A string containing a lexical representation of xsd:long
-
printShort
String printShort(short val)
Converts a short value into a string.- Parameters:
val
- A short value- Returns:
- A string containing a lexical representation of xsd:short
-
printDecimal
String printDecimal(BigDecimal val)
Converts a BigDecimal value into a string.- Parameters:
val
- A BigDecimal value- Returns:
- A string containing a lexical representation of xsd:decimal
- Throws:
IllegalArgumentException
-val
is null.
-
printFloat
String printFloat(float val)
Converts a float value into a string.- Parameters:
val
- A float value- Returns:
- A string containing a lexical representation of xsd:float
-
printDouble
String printDouble(double val)
Converts a double value into a string.- Parameters:
val
- A double value- Returns:
- A string containing a lexical representation of xsd:double
-
printBoolean
String printBoolean(boolean val)
Converts a boolean value into a string.- Parameters:
val
- A boolean value- Returns:
- A string containing a lexical representation of xsd:boolean
-
printByte
String printByte(byte val)
Converts a byte value into a string.- Parameters:
val
- A byte value- Returns:
- A string containing a lexical representation of xsd:byte
-
printQName
String printQName(QName val, NamespaceContext nsc)
Converts a QName instance into a string.- Parameters:
val
- A QName valuensc
- A namespace context for interpreting a prefix within a QName.- Returns:
- A string containing a lexical representation of QName
- Throws:
IllegalArgumentException
- ifval
is null or ifnsc
is non-null ornsc.getPrefix(nsprefixFromVal)
is null.
-
printDateTime
String printDateTime(Calendar val)
Converts a Calendar value into a string.- Parameters:
val
- A Calendar value- Returns:
- A string containing a lexical representation of xsd:dateTime
- Throws:
IllegalArgumentException
- ifval
is null.
-
printBase64Binary
String printBase64Binary(byte[] val)
Converts an array of bytes into a string.- Parameters:
val
- an array of bytes- Returns:
- A string containing a lexical representation of xsd:base64Binary
- Throws:
IllegalArgumentException
- ifval
is null.
-
printHexBinary
String printHexBinary(byte[] val)
Converts an array of bytes into a string.- Parameters:
val
- an array of bytes- Returns:
- A string containing a lexical representation of xsd:hexBinary
- Throws:
IllegalArgumentException
- ifval
is null.
-
printUnsignedInt
String printUnsignedInt(long val)
Converts a long value into a string.- Parameters:
val
- A long value- Returns:
- A string containing a lexical representation of xsd:unsignedInt
-
printUnsignedShort
String printUnsignedShort(int val)
Converts an int value into a string.- Parameters:
val
- An int value- Returns:
- A string containing a lexical representation of xsd:unsignedShort
-
printTime
String printTime(Calendar val)
Converts a Calendar value into a string.- Parameters:
val
- A Calendar value- Returns:
- A string containing a lexical representation of xsd:time
- Throws:
IllegalArgumentException
- ifval
is null.
-
printDate
String printDate(Calendar val)
Converts a Calendar value into a string.- Parameters:
val
- A Calendar value- Returns:
- A string containing a lexical representation of xsd:date
- Throws:
IllegalArgumentException
- ifval
is null.
-
-