Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
public interface DatatypeConverterInterface
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.
Method Summary | |
String |
|
byte[] |
|
boolean |
|
byte |
|
Calendar |
|
Calendar |
|
BigDecimal |
|
double |
|
float |
|
byte[] |
|
int |
|
BigInteger |
|
long |
|
QName |
|
short |
|
String |
|
Calendar |
|
long |
|
int |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
String |
|
java.lang.String |
|
java.lang.String |
|
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
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
public boolean parseBoolean(String pLexicalXSDBoolean)
Parses the lexical representation of the given boolean value and converts it into a primitiveboolean
value.
- Parameters:
pLexicalXSDBoolean
- The input string being parsed.
- Returns:
- The input string converted into a primitive
boolean
.
- See Also:
ParseConversionEvent
public byte parseByte(String pLexicalXSDByte)
Parses the lexical representation of the given 8 bit integer value and converts it into a primitivebyte
value.
- Parameters:
pLexicalXSDByte
- The input string being parsed.
- Returns:
- The input string converted into a primitive
byte
.
- See Also:
ParseConversionEvent
public Calendar parseDate(String pLexicalXSDDate)
Parses the lexical representation of the given date value and converts it into an instance ofjava.util.Calendar
. Valid lexical representations of a date value includeYYYY-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.
- Parameters:
pLexicalXSDDate
- The input string being parsed.
- Returns:
- The input string converted into an instance of
java.util.Calendar
.
- See Also:
ParseConversionEvent
public Calendar parseDateTime(String pLexicalXSDDateTime)
Parses the lexical representation of the given dateTime value and converts it into an instance ofjava.util.Calendar
. Valid lexical representations of a dateTime value includeYYYY-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.
- Parameters:
pLexicalXSDDateTime
- The input string being parsed.
- Returns:
- The input string converted into an instance of
java.util.Calendar
.
- See Also:
ParseConversionEvent
public BigDecimal parseDecimal(String pLexicalXSDDecimal)
Parses the lexical representation of the given decimal value (arbitrary precision) and converts it into an instance ofjava.math.BigDecimal
.
- Parameters:
pLexicalXSDDecimal
- The input string being parsed.
- Returns:
- The input string converted into an instance of
java.math.BigDecimal
.
- See Also:
ParseConversionEvent
public double parseDouble(String pLexicalXSDDouble)
Parses the lexical representation of the given 64 bit floating point value and converts it into a primitivedouble
value.
- Parameters:
pLexicalXSDDouble
- The input string being parsed.
- Returns:
- The input string converted into a primitive
double
.
- See Also:
ParseConversionEvent
public float parseFloat(String pLexicalXSDFloat)
Parses the lexical representation of the given 32 bit floating point value and converts it into a primitivefloat
value.
- Parameters:
pLexicalXSDFloat
- The input string being parsed.
- Returns:
- The input string converted into a primitive
float
.
- See Also:
ParseConversionEvent
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
public int parseInt(String pLexicalXSDInt)
Parses the lexical representation of the given 32 bit integer value and converts it into a primitiveint
value.
- Parameters:
pLexicalXSDInt
- The input string being parsed.
- Returns:
- The input string converted into a primitive
int
.
- See Also:
ParseConversionEvent
public BigInteger parseInteger(String pLexicalXSDInteger)
Parses the lexical representation of the given integer value (arbitrary precision) and converts it into an instance ofjava.math.BigInteger
.
- Parameters:
pLexicalXSDInteger
- The input string being parsed.
- Returns:
- The input string converted into an instance of
BigInteger
.
- See Also:
ParseConversionEvent
public long parseLong(String pLexicalXSDLong)
Parses the lexical representation of the given 64 bit integer value and converts it into a primitivelong
value.
- Parameters:
pLexicalXSDLong
- The input string being parsed.
- Returns:
- The input string converted into a primitive
long
.
- See Also:
ParseConversionEvent
public QName parseQName(String pLexicalXSDQName, NamespaceContext pNamespaceContext)
Parses the lexical representation of the given qualified name and converts it into an instance ofQName
. TheQName
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
QName
.
- See Also:
ParseConversionEvent
public short parseShort(String pLexicalXSDShort)
Parses the lexical representation of the given 16 bit integer value and converts it into a primitiveshort
value.
- Parameters:
pLexicalXSDShort
- The input string being parsed.
- Returns:
- The input string converted into a primitive
short
.
- See Also:
ParseConversionEvent
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
public Calendar parseTime(String pLexicalXSDTime)
Parses the lexical representation of the given time value and converts it into an instance ofjava.util.Calendar
. Valid lexical representations of a time value includehh: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.
- Parameters:
pLexicalXSDTime
- The input string being parsed.
- Returns:
- The input string converted into an instance of
java.util.Calendar
.
- See Also:
ParseConversionEvent
public long parseUnsignedInt(String pLexicalXSDUnsignedInt)
Parses the lexical representation of the given 32 bit unsignet integer value and converts it into a primitivelong
value.
- Parameters:
pLexicalXSDUnsignedInt
- The input string being parsed.
- Returns:
- The input string converted into a primitive
long
.
- See Also:
ParseConversionEvent
public int parseUnsignedShort(String pLexicalXSDUnsignedShort)
Parses the lexical representation of the given 16 bit unsignet integer value and converts it into a primitiveint
value.
- Parameters:
pLexicalXSDUnsignedShort
- The input string being parsed.
- Returns:
- The input string conve rted into a primitive
int
.
- See Also:
ParseConversionEvent
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
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
public String printBoolean(boolean pValue)
Returns a lexical representation of the given primitive boolean value.
- Parameters:
pValue
- Theboolean
value being converted.
- Returns:
- A lexical representation of the input value.
- See Also:
PrintConversionEvent
public String printByte(byte pValue)
Returns a lexical representation of the given primitive 8 bit integer.
- Parameters:
pValue
- Thebyte
value being converted.
- Returns:
- A lexical representation of the input value.
- See Also:
PrintConversionEvent
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:00The 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
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:00The 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
public String printDecimal(BigDecimal pValue)
Returns a lexical representation of the given instance ofBigDecimal
, 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
public String printDouble(double pValue)
Returns a lexical representation of the given primitive 64 bit floating point number.
- Parameters:
pValue
- Thedouble
value being converted.
- Returns:
- A lexical representation of the input value.
- See Also:
PrintConversionEvent
public String printFloat(float pValue)
Returns a lexical representation of the given primitive 32 bit floating point number.
- Parameters:
pValue
- Thefloat
value being converted.
- Returns:
- A lexical representation of the input value.
- See Also:
PrintConversionEvent
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
public String printInt(int pValue)
Returns a lexical representation of the given primitive 32 bit integer.
- Parameters:
pValue
- Theint
value being converted.
- Returns:
- A lexical representation of the input value.
- See Also:
PrintConversionEvent
public String printInteger(BigInteger pValue)
Returns a lexical representation of the given instance ofBigInteger
, 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
public String printLong(long pValue)
Returns a lexical representation of the given primitive 64 bit integer.
- Parameters:
pValue
- Thelong
value being converted.
- Returns:
- A lexical representation of the input value.
- See Also:
PrintConversionEvent
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
public String printShort(short pValue)
Returns a lexical representation of the given primitive 16 bit integer.
- Parameters:
pValue
- Theshort
value being converted.
- Returns:
- A lexical representation of the input value.
- See Also:
PrintConversionEvent
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
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:00The 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
public java.lang.String printUnsignedInt(long pValue)
Returns a lexical representation of the given primitive, unsigned 32 bit integer.
- Parameters:
pValue
- Thelong
value being converted.
- Returns:
- A lexical representation of the input value.
- See Also:
PrintConversionEvent
public java.lang.String printUnsignedShort(int pValue)
Returns a lexical representation of the given primitive, unsigned 16 bit integer.
- Parameters:
pValue
- Theshort
value being converted.
- Returns:
- A lexical representation of the input value.
- See Also:
PrintConversionEvent