public interface DatatypeConverterInterface
DatatypeConverterInterface仅供JAXB提供者使用。 JAXB提供程序必须提供实现此接口的类。 JAXB提供商需要在第一个元帅或解散操作之前的某个时候调用DatatypeConverter.setDatatypeConverter
api(可能在调用JAXBContext.newInstance时)。 此步骤是配置应用于执行打印和解析功能的转换器所必需的。 重复调用这个api将不起作用 - 传入第一次调用的DatatypeConverter实例是从那时起使用的。
该界面定义了解析和打印方法。 在JAXB规范中的默认绑定表5-1中指定的每个XML模式数据类型都有一个解析和打印方法。
这里定义的解析和打印方法由DatatypeConverter
类中定义的静态解析和打印方法调用。
对于一个XML模式数据类型的解析方法必须能够将XML模式的数据类型(由指定的任何词汇表示的XML Schema Part2: Datatypes specification成在XML模式数据类型的值空间中的值。如果在转换过程中遇到错误,则一个IllegalArgumentException或者IllegalArgumentException的子类必须由方法抛出。
XML模式数据类型的打印方法可以输出关于XML模式数据类型有效的任何词法表示。 如果在转换期间遇到错误,则该方法必须抛出IllegalArgumentException或IllegalArgumentException的子类。
前缀xsd:用于引用XML模式数据类型XML Schema Part2: Datatypes specification.DatatypeConverter
, ParseConversionEvent
, PrintConversionEvent
Modifier and Type | Method and Description |
---|---|
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 lexicalXSDDecimal)
将字符串参数转换为BigDecimal值。
|
double |
parseDouble(String lexicalXSDDouble)
将字符串参数转换为双精度值。
|
float |
parseFloat(String lexicalXSDFloat)
将字符串参数转换为浮点值。
|
byte[] |
parseHexBinary(String lexicalXSDHexBinary)
将字符串参数转换为字节数组。
|
int |
parseInt(String lexicalXSDInt)
将字符串参数转换为int值。
|
BigInteger |
parseInteger(String lexicalXSDInteger)
将字符串参数转换为BigInteger值。
|
long |
parseLong(String lexicalXSDLong)
将字符串参数转换为长整型值。
|
QName |
parseQName(String lexicalXSDQName, NamespaceContext nsc)
将字符串参数转换为QName值。
|
short |
parseShort(String lexicalXSDShort)
将字符串参数转换为短值。
|
String |
parseString(String lexicalXSDString)
将字符串参数转换为字符串。
|
Calendar |
parseTime(String lexicalXSDTime)
将字符串参数转换为日历值。
|
long |
parseUnsignedInt(String lexicalXSDUnsignedInt)
将字符串参数转换为长整型值。
|
int |
parseUnsignedShort(String lexicalXSDUnsignedShort)
将字符串参数转换为int值。
|
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)
将BigDecimal值转换为字符串。
|
String |
printDouble(double val)
将double值转换为字符串。
|
String |
printFloat(float val)
将float值转换为字符串。
|
String |
printHexBinary(byte[] val)
将字节数组转换为字符串。
|
String |
printInt(int val)
将int值转换为字符串。
|
String |
printInteger(BigInteger val)
将BigInteger值转换为字符串。
|
String |
printLong(long val)
将一个长的值转换成一个字符串。
|
String |
printQName(QName val, NamespaceContext nsc)
将QName实例转换为字符串。
|
String |
printShort(short val)
将一个简短的值转换成一个字符串。
|
String |
printString(String val)
将字符串参数转换为字符串。
|
String |
printTime(Calendar val)
将日历值转换为字符串。
|
String |
printUnsignedInt(long val)
将一个长的值转换成一个字符串。
|
String |
printUnsignedShort(int val)
将int值转换为字符串。
|
String parseString(String lexicalXSDString)
将字符串参数转换为字符串。
lexicalXSDString
- XML Schema数据类型xsd:string的词法表示法
BigInteger parseInteger(String lexicalXSDInteger)
将字符串参数转换为BigInteger值。
lexicalXSDInteger
- 包含xsd:integer的词法表示形式的字符串。
NumberFormatException
- lexicalXSDInteger
不是BigInteger
值的有效字符串表示。
int parseInt(String lexicalXSDInt)
将字符串参数转换为int值。
lexicalXSDInt
- 包含xsd:int的词法表示形式的字符串。
NumberFormatException
-
lexicalXSDInt
不是
int
值的有效字符串表示。
long parseLong(String lexicalXSDLong)
将字符串参数转换为长整型值。
lexicalXSDLong
- 包含xsd:long的词法表示形式的字符串。
NumberFormatException
-
lexicalXSDLong
不是
long
值的有效字符串表示。
short parseShort(String lexicalXSDShort)
将字符串参数转换为短值。
lexicalXSDShort
- 包含xsd:short的词法表示形式的字符串。
NumberFormatException
-
lexicalXSDShort
不是
short
值的有效字符串表示。
BigDecimal parseDecimal(String lexicalXSDDecimal)
将字符串参数转换为BigDecimal值。
lexicalXSDDecimal
- 包含xsd:decimal的词法表示形式的字符串。
NumberFormatException
- lexicalXSDDecimal
不是lexicalXSDDecimal
的有效字符串表示 。
float parseFloat(String lexicalXSDFloat)
将字符串参数转换为浮点值。
lexicalXSDFloat
- 包含xsd:float的词法表示形式的字符串。
NumberFormatException
-
lexicalXSDFloat
不是
float
值的有效字符串表示。
double parseDouble(String lexicalXSDDouble)
将字符串参数转换为双精度值。
lexicalXSDDouble
- 包含xsd:double的词法表示形式的字符串。
NumberFormatException
-
lexicalXSDDouble
不是
double
值的有效字符串表示。
boolean parseBoolean(String lexicalXSDBoolean)
将字符串参数转换为布尔值。
lexicalXSDBoolean
- 包含xsd:boolean的词法表示形式的字符串。
IllegalArgumentException
- 如果字符串参数不符合XML模式中定义的词法值空间第2部分:xsd:boolean的数据类型。
byte parseByte(String lexicalXSDByte)
将字符串参数转换为字节值。
lexicalXSDByte
- 包含xsd:byte的词法表示形式的字符串。
NumberFormatException
-
lexicalXSDByte
不包含可分析字节。
IllegalArgumentException
- 如果字符串参数不符合XML模式中定义的词法值空间第2部分:xsd:byte的数据类型。
QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
将字符串参数转换为QName值。
字符串参数lexicalXSDQname必须符合指定的词汇值空间XML Schema Part 2:Datatypes specification:QNames
lexicalXSDQName
- 包含xsd:QName的词法表示形式的字符串。
nsc
- 用于解释QName中前缀的命名空间上下文。
IllegalArgumentException
- 如果字符串参数不符合XML模式第2部分规范,或者命名空间前缀
lexicalXSDQname未绑定到NamespaceContext
nsc中的URI。
Calendar parseDateTime(String lexicalXSDDateTime)
将字符串参数转换为日历值。
lexicalXSDDateTime
- 包含xsd:datetime的词法表示形式的字符串。
IllegalArgumentException
- 如果字符串参数不符合XML Schema第2部分定义的词法值空间:xsd:datetime的数据类型。
byte[] parseBase64Binary(String lexicalXSDBase64Binary)
将字符串参数转换为字节数组。
lexicalXSDBase64Binary
- 包含xsd:base64Binary的词法表示形式的字符串。
IllegalArgumentException
- 如果字符串参数不符合XML模式中定义的词法值空间第2部分:xsd的数据类型:base64Binary
byte[] parseHexBinary(String lexicalXSDHexBinary)
将字符串参数转换为字节数组。
lexicalXSDHexBinary
- 包含xsd:hexBinary的词法表示形式的字符串。
IllegalArgumentException
- 如果字符串参数不符合XML模式中定义的词法空间第2部分:xsd:hexBinary的数据类型。
long parseUnsignedInt(String lexicalXSDUnsignedInt)
将字符串参数转换为长整型值。
lexicalXSDUnsignedInt
- 包含xsd:unsignedInt的词法表示形式的字符串。
NumberFormatException
- 如果字符串参数无法解析为
long值。
int parseUnsignedShort(String lexicalXSDUnsignedShort)
将字符串参数转换为int值。
lexicalXSDUnsignedShort
- 包含xsd:unsignedShort的词法表示形式的字符串。
NumberFormatException
- 如果字符串参数无法解析为
int值。
Calendar parseTime(String lexicalXSDTime)
将字符串参数转换为日历值。
lexicalXSDTime
- 包含xsd:Time的词法表示形式的字符串。
IllegalArgumentException
- 如果字符串参数不符合XML模式第2部分定义的词法值空间:xsd:Time的数据类型。
Calendar parseDate(String lexicalXSDDate)
将字符串参数转换为日历值。
lexicalXSDDate
- 包含xsd:Date的词法表示形式的字符串。
IllegalArgumentException
- 如果字符串参数不符合XML模式中定义的词法空间第2部分:xsd:Date的数据类型。
String parseAnySimpleType(String lexicalXSDAnySimpleType)
返回一个包含简单类型的词法表示的字符串。
lexicalXSDAnySimpleType
- 一个包含简单类型的词法表示的字符串。
String printString(String val)
将字符串参数转换为字符串。
val
- 一个字符串值。
String printInteger(BigInteger val)
将BigInteger值转换为字符串。
val
- BigInteger值
IllegalArgumentException
-
val为空。
String printInt(int val)
将int值转换为字符串。
val
- 一个int值
String printLong(long val)
将一个长的值转换成一个字符串。
val
- 一个长的价值
String printShort(short val)
将一个简短的值转换成一个字符串。
val
- 一个简短的数值
String printDecimal(BigDecimal val)
将BigDecimal值转换为字符串。
val
- 一个BigDecimal值
IllegalArgumentException
-
val为空。
String printFloat(float val)
将float值转换为字符串。
val
- 浮点值
String printDouble(double val)
将double值转换为字符串。
val
- 一个双重值
String printBoolean(boolean val)
将布尔值转换为字符串。
val
- 一个布尔值
String printByte(byte val)
将字节值转换为字符串。
val
- 字节值
String printQName(QName val, NamespaceContext nsc)
将QName实例转换为字符串。
val
- QName值
nsc
- 用于解释QName中前缀的命名空间上下文。
IllegalArgumentException
- 如果
val为空,或者如果
nsc为非空,或
nsc.getPrefix(nsprefixFromVal)为空。
String printDateTime(Calendar val)
将日历值转换为字符串。
val
- 日历值
IllegalArgumentException
- 如果
val为空。
String printBase64Binary(byte[] val)
将字节数组转换为字符串。
val
- 一个字节数组
IllegalArgumentException
- 如果
val为空。
String printHexBinary(byte[] val)
将字节数组转换为字符串。
val
- 一个字节数组
IllegalArgumentException
- 如果
val为空。
String printUnsignedInt(long val)
将一个长的值转换成一个字符串。
val
- 一个长的价值
String printUnsignedShort(int val)
将int值转换为字符串。
val
- 一个int值
String printTime(Calendar val)
将日历值转换为字符串。
val
- 日历值
IllegalArgumentException
- 如果
val为空。
String printDate(Calendar val)
将日历值转换为字符串。
val
- 日历值
IllegalArgumentException
- 如果
val为空。