-
public interface DatatypeConverterInterfaceDatatypeConverterInterface仅供JAXB提供者使用。 JAXB提供程序必须提供实现此接口的类。 JAXB提供商需要在第一个元帅或解散操作之前的某个时候调用
DatatypeConverter.setDatatypeConverterapi(可能在调用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 方法 描述 StringparseAnySimpleType(String lexicalXSDAnySimpleType)返回一个包含简单类型的词法表示的字符串。byte[]parseBase64Binary(String lexicalXSDBase64Binary)将字符串参数转换为字节数组。booleanparseBoolean(String lexicalXSDBoolean)将字符串参数转换为布尔值。byteparseByte(String lexicalXSDByte)将字符串参数转换为字节值。CalendarparseDate(String lexicalXSDDate)将字符串参数转换为日历值。CalendarparseDateTime(String lexicalXSDDateTime)将字符串参数转换为日历值。BigDecimalparseDecimal(String lexicalXSDDecimal)将字符串参数转换为BigDecimal值。doubleparseDouble(String lexicalXSDDouble)将字符串参数转换为双精度值。floatparseFloat(String lexicalXSDFloat)将字符串参数转换为浮点值。byte[]parseHexBinary(String lexicalXSDHexBinary)将字符串参数转换为字节数组。intparseInt(String lexicalXSDInt)将字符串参数转换为int值。BigIntegerparseInteger(String lexicalXSDInteger)将字符串参数转换为BigInteger值。longparseLong(String lexicalXSDLong)将字符串参数转换为长整型值。QNameparseQName(String lexicalXSDQName, NamespaceContext nsc)将字符串参数转换为QName值。shortparseShort(String lexicalXSDShort)将字符串参数转换为短值。StringparseString(String lexicalXSDString)将字符串参数转换为字符串。CalendarparseTime(String lexicalXSDTime)将字符串参数转换为日历值。longparseUnsignedInt(String lexicalXSDUnsignedInt)将字符串参数转换为长整型值。intparseUnsignedShort(String lexicalXSDUnsignedShort)将字符串参数转换为int值。StringprintAnySimpleType(String val)将字符串值转换为字符串。StringprintBase64Binary(byte[] val)将字节数组转换为字符串。StringprintBoolean(boolean val)将布尔值转换为字符串。StringprintByte(byte val)将字节值转换为字符串。StringprintDate(Calendar val)将日历值转换为字符串。StringprintDateTime(Calendar val)将日历值转换为字符串。StringprintDecimal(BigDecimal val)将BigDecimal值转换为字符串。StringprintDouble(double val)将double值转换为字符串。StringprintFloat(float val)将float值转换为字符串。StringprintHexBinary(byte[] val)将字节数组转换为字符串。StringprintInt(int val)将int值转换为字符串。StringprintInteger(BigInteger val)将BigInteger值转换为字符串。StringprintLong(long val)将一个长的值转换成一个字符串。StringprintQName(QName val, NamespaceContext nsc)将QName实例转换为字符串。StringprintShort(short val)将一个简短的值转换成一个字符串。StringprintString(String val)将字符串参数转换为字符串。StringprintTime(Calendar val)将日历值转换为字符串。StringprintUnsignedInt(long val)将一个长的值转换成一个字符串。StringprintUnsignedShort(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为空。
-
-