-
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.
- 从以下版本开始:
- 1.6,JAXB 1.0
- 另请参见:
-
DatatypeConverter
,ParseConversionEvent
,PrintConversionEvent
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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值转换为字符串。
-
-
-
方法详细信息
-
parseString
String parseString(String lexicalXSDString)
将字符串参数转换为字符串。- 参数
-
lexicalXSDString
- XML Schema数据类型xsd:string的词法表示法 - 结果
- 与输入字符串相同的字符串。
-
parseInteger
BigInteger parseInteger(String lexicalXSDInteger)
将字符串参数转换为BigInteger值。- 参数
-
lexicalXSDInteger
- 包含xsd:integer的词法表示形式的字符串。 - 结果
- 由字符串参数表示的BigInteger值。
- 异常
-
NumberFormatException
-lexicalXSDInteger
不是BigInteger
值的有效字符串表示。
-
parseInt
int parseInt(String lexicalXSDInt)
将字符串参数转换为int值。- 参数
-
lexicalXSDInt
- 包含xsd:int的词法表示形式的字符串。 - 结果
- 一个int值表示是字符串参数的字节。
- 异常
-
NumberFormatException
-lexicalXSDInt
不是int
值的有效字符串表示形式。
-
parseLong
long parseLong(String lexicalXSDLong)
将字符串参数转换为长整型值。- 参数
-
lexicalXSDLong
- 包含xsd:long的词法表示形式的字符串。 - 结果
- 由字符串参数表示的长值。
- 异常
-
NumberFormatException
-lexicalXSDLong
不是long
值的有效字符串表示。
-
parseShort
short parseShort(String lexicalXSDShort)
将字符串参数转换为短值。- 参数
-
lexicalXSDShort
- 包含xsd:short的词法表示形式的字符串。 - 结果
- 由字符串参数表示的短值。
- 异常
-
NumberFormatException
-lexicalXSDShort
不是short
值的有效字符串表示。
-
parseDecimal
BigDecimal parseDecimal(String lexicalXSDDecimal)
将字符串参数转换为BigDecimal值。- 参数
-
lexicalXSDDecimal
- 包含xsd:decimal的词法表示形式的字符串。 - 结果
- 由字符串参数表示的BigDecimal值。
- 异常
-
NumberFormatException
-lexicalXSDDecimal
不是一个有效的字符串表示BigDecimal
。
-
parseFloat
float parseFloat(String lexicalXSDFloat)
将字符串参数转换为浮点值。- 参数
-
lexicalXSDFloat
- 包含xsd:float的词法表示形式的字符串。 - 结果
- 由字符串参数表示的浮点值。
- 异常
-
NumberFormatException
-lexicalXSDFloat
不是float
值的有效字符串表示。
-
parseDouble
double parseDouble(String lexicalXSDDouble)
将字符串参数转换为双精度值。- 参数
-
lexicalXSDDouble
- 包含xsd:double的词法表示形式的字符串。 - 结果
- 由字符串参数表示的double值。
- 异常
-
NumberFormatException
-lexicalXSDDouble
不是double
值的有效字符串表示。
-
parseBoolean
boolean parseBoolean(String lexicalXSDBoolean)
将字符串参数转换为布尔值。- 参数
-
lexicalXSDBoolean
- 包含xsd:boolean的词法表示的字符串。 - 结果
- 由字符串参数表示的布尔值。
- 异常
-
IllegalArgumentException
- 如果字符串参数不符合XML模式中定义的词法值空间第2部分:xsd:boolean的数据类型。
-
parseByte
byte parseByte(String lexicalXSDByte)
将字符串参数转换为字节值。- 参数
-
lexicalXSDByte
- 包含xsd:byte的词法表示形式的字符串。 - 结果
- 由字符串参数表示的字节值。
- 异常
-
NumberFormatException
-lexicalXSDByte
不包含可分析字节。 -
IllegalArgumentException
- 如果字符串参数不符合XML Schema第2部分定义的词法值空间:xsd:byte的数据类型。
-
parseQName
QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
将字符串参数转换为QName值。字符串参数
lexicalXSDQname
必须符合XML Schema Part 2:Datatypes specification:QNames指定的词汇值空间- 参数
-
lexicalXSDQName
- 包含xsd:QName的词法表示形式的字符串。 -
nsc
- 用于解释QName中的前缀的命名空间上下文。 - 结果
- 由字符串参数表示的QName值。
- 异常
-
IllegalArgumentException
- 如果字符串参数不符合XML模式第2部分规范,或者如果命名空间前缀为lexicalXSDQname
未绑定到NamespaceContextnsc
的URI。
-
parseDateTime
Calendar parseDateTime(String lexicalXSDDateTime)
将字符串参数转换为日历值。- 参数
-
lexicalXSDDateTime
- 包含xsd:datetime的词法表示形式的字符串。 - 结果
- 由字符串参数表示的日历对象。
- 异常
-
IllegalArgumentException
- 如果字符串参数不符合XML Schema第2部分定义的词法值空间:xsd:datetime的数据类型。
-
parseBase64Binary
byte[] parseBase64Binary(String lexicalXSDBase64Binary)
将字符串参数转换为字节数组。- 参数
-
lexicalXSDBase64Binary
- 包含xsd:base64Binary的词法表示形式的字符串。 - 结果
- 由字符串参数表示的字节数组。
- 异常
-
IllegalArgumentException
- 如果字符串参数不符合XML模式中定义的词法值空间第2部分:xsd的数据类型:base64Binary
-
parseHexBinary
byte[] parseHexBinary(String lexicalXSDHexBinary)
将字符串参数转换为字节数组。- 参数
-
lexicalXSDHexBinary
- 包含xsd:hexBinary的词法表示形式的字符串。 - 结果
- 由字符串参数表示的字节数组。
- 异常
-
IllegalArgumentException
- 如果字符串参数不符合XML模式中定义的词法值空间第2部分:xsd的数据类型:hexBinary。
-
parseUnsignedInt
long parseUnsignedInt(String lexicalXSDUnsignedInt)
将字符串参数转换为长整型值。- 参数
-
lexicalXSDUnsignedInt
- 包含xsd:unsignedInt的词法表示形式的字符串。 - 结果
- 由字符串参数表示的长值。
- 异常
-
NumberFormatException
- 如果字符串参数无法解析为long
值。
-
parseUnsignedShort
int parseUnsignedShort(String lexicalXSDUnsignedShort)
将字符串参数转换为int值。- 参数
-
lexicalXSDUnsignedShort
- 包含xsd:unsignedShort的词法表示形式的字符串。 - 结果
- 由string参数表示的int值。
- 异常
-
NumberFormatException
- 如果字符串参数无法解析为int
值。
-
parseTime
Calendar parseTime(String lexicalXSDTime)
将字符串参数转换为日历值。- 参数
-
lexicalXSDTime
- 包含xsd:Time的词法表示形式的字符串。 - 结果
- 由字符串参数表示的日历值。
- 异常
-
IllegalArgumentException
- 如果字符串参数不符合XML Schema第2部分定义的词法值空间:xsd:Time的数据类型。
-
parseDate
Calendar parseDate(String lexicalXSDDate)
将字符串参数转换为日历值。- 参数
-
lexicalXSDDate
- 包含xsd:Date的词法表示形式的字符串。 - 结果
- 由字符串参数表示的日历值。
- 异常
-
IllegalArgumentException
- 如果字符串参数不符合XML模式中定义的词法空间第2部分:xsd:Date的数据类型。
-
parseAnySimpleType
String parseAnySimpleType(String lexicalXSDAnySimpleType)
返回一个包含简单类型的词法表示的字符串。- 参数
-
lexicalXSDAnySimpleType
- 一个包含简单类型的词法表示的字符串。 - 结果
- 包含简单类型的词法表示的字符串。
-
printInteger
String printInteger(BigInteger val)
将BigInteger值转换为字符串。- 参数
-
val
- BigInteger值 - 结果
- 包含xsd:integer的词法表示形式的字符串
- 异常
-
IllegalArgumentException
-val
为空。
-
printInt
String printInt(int val)
将int值转换为字符串。- 参数
-
val
- 一个int值 - 结果
- 包含xsd:int的词法表示形式的字符串
-
printLong
String printLong(long val)
将一个长的值转换成一个字符串。- 参数
-
val
- 一个长的价值 - 结果
- 包含xsd:long的词法表示的字符串
-
printShort
String printShort(short val)
将一个简短的值转换成一个字符串。- 参数
-
val
- 一个简短的数值 - 结果
- 包含xsd:short的词法表示形式的字符串
-
printDecimal
String printDecimal(BigDecimal val)
将BigDecimal值转换为字符串。- 参数
-
val
- 一个BigDecimal值 - 结果
- 包含xsd:decimal的词法表示形式的字符串
- 异常
-
IllegalArgumentException
-val
为null。
-
printFloat
String printFloat(float val)
将float值转换为字符串。- 参数
-
val
- 浮点值 - 结果
- 包含xsd:float的词法表示形式的字符串
-
printDouble
String printDouble(double val)
将double值转换为字符串。- 参数
-
val
- 双重值 - 结果
- 包含xsd:double的词法表示形式的字符串
-
printBoolean
String printBoolean(boolean val)
将布尔值转换为字符串。- 参数
-
val
- 一个布尔值 - 结果
- 包含xsd:boolean的词法表示的字符串
-
printByte
String printByte(byte val)
将字节值转换为字符串。- 参数
-
val
- 字节值 - 结果
- 包含xsd:byte的词法表示形式的字符串
-
printQName
String printQName(QName val, NamespaceContext nsc)
将QName实例转换为字符串。- 参数
-
val
- QName值 -
nsc
- 用于解释QName中前缀的命名空间上下文。 - 结果
- 一个包含QName的词法表示的字符串
- 异常
-
IllegalArgumentException
- 如果val
为空,或者如果nsc
为非空或nsc.getPrefix(nsprefixFromVal)
为空。
-
printDateTime
String printDateTime(Calendar val)
将日历值转换为字符串。- 参数
-
val
- 日历值 - 结果
- 包含xsd:dateTime的词法表示形式的字符串
- 异常
-
IllegalArgumentException
- 如果val
为空。
-
printBase64Binary
String printBase64Binary(byte[] val)
将字节数组转换为字符串。- 参数
-
val
- 一个字节数组 - 结果
- 包含xsd:base64Binary的词法表示形式的字符串
- 异常
-
IllegalArgumentException
- 如果val
为空。
-
printHexBinary
String printHexBinary(byte[] val)
将字节数组转换为字符串。- 参数
-
val
- 一个字节数组 - 结果
- 包含xsd:hexBinary的词法表示形式的字符串
- 异常
-
IllegalArgumentException
- 如果val
为空。
-
printUnsignedInt
String printUnsignedInt(long val)
将一个长的值转换成一个字符串。- 参数
-
val
- 一个长的价值 - 结果
- 包含xsd:unsignedInt的词法表示形式的字符串
-
printUnsignedShort
String printUnsignedShort(int val)
将int值转换为字符串。- 参数
-
val
- 一个int值 - 结果
- 包含xsd:unsignedShort的词法表示形式的字符串
-
printTime
String printTime(Calendar val)
将日历值转换为字符串。- 参数
-
val
- 日历值 - 结果
- 包含xsd:time的词法表示形式的字符串
- 异常
-
IllegalArgumentException
- 如果val
为空。
-
printDate
String printDate(Calendar val)
将日历值转换为字符串。- 参数
-
val
- 日历值 - 结果
- 包含xsd:date的词法表示形式的字符串
- 异常
-
IllegalArgumentException
- 如果val
为空。
-
-