JavaTM Platform
Standard Ed. 6

javax.xml.bind
接口 DatatypeConverterInterface


public interface DatatypeConverterInterface

该 DatatypeConverterInterface 仅适用于 JAXB 提供者。JAXB 提供者必须提供一个实现此接口的类。JAXB 提供者需要在第一次执行编组或解组操作之前(可能在调用 JAXBContext.newInstance 期间)的某个时间点调用 DatatypeConverter.setDatatypeConverter。要配置用于执行打印和解析功能的转换器,这一步是必需的。重复调用此 api 是无效的,传入第一个调用中的 DatatypeConverter 实例将是将从那时起有效的实例。

此接口定义了一些 parse 和 print 方法。在 JAXB 规范的默认绑定 Table 5-1 中指定的每个 XML 模式数据类型都有一个 parse 和 print 方法。

此处定义的 parse 和 print 方法由 DatatypeConverter 类中定义的静态 parse 和 print 方法调用。

XML 模式数据类型的 parse 方法必须能够将 XML 模式数据类型的任何词汇表示形式(由 XML Schema Part 2: Datatypes specification 指定)转换为 XML 模式数据类型的值空间中的值。如果在转换期间发生错误,则该方法将抛出 IllegalArgumentException,或者抛出 IllegalArgumentException 的子类。

XML 模式数据类型的 print 方法可以输出对于 XML 模式数据类型有效的任何词汇表示形式。如果在转换期间发生错误,则该方法将抛出 IllegalArgumentException,或者抛出 IllegalArgumentException 的子类。

前缀 xsd:用于引用 XML 模式数据类型 XML Schema Part 2: Datatypes specification

从以下版本开始:
JAXB1.0
另请参见:
DatatypeConverter, ParseConversionEvent, PrintConversionEvent

方法摘要
 String parseAnySimpleType(String lexicalXSDAnySimpleType)
           返回包含简单类型的词汇表示形式的字符串。
 byte[] parseBase64Binary(String lexicalXSDBase64Binary)
           将字符串参数转换为一个字节数组。
 boolean parseBoolean(String lexicalXSDBoolean)
           将字符串参数转换为一个 boolean 值。
 byte parseByte(String lexicalXSDByte)
           将字符串参数转换为一个 byte 值。
 Calendar parseDate(String lexicalXSDDate)
           将字符串参数转换为一个 Calendar 值。
 Calendar parseDateTime(String lexicalXSDDateTime)
           将字符串参数转换为一个 Calendar 值。
 BigDecimal parseDecimal(String lexicalXSDDecimal)
           将字符串参数转换为一个 BigDecimal 值。
 double parseDouble(String lexicalXSDDouble)
           将字符串参数转换为一个 double 值。
 float parseFloat(String lexicalXSDFloat)
           将字符串参数转换为一个 float 值。
 byte[] parseHexBinary(String lexicalXSDHexBinary)
           将字符串参数转换为一个字节数组。
 int parseInt(String lexicalXSDInt)
           将字符串参数转换为一个 int 值。
 BigInteger parseInteger(String lexicalXSDInteger)
           将字符串参数转换为一个 BigInteger 值。
 long parseLong(String lexicalXSDLong)
           将字符串参数转换为一个 long 值。
 QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
           将字符串参数转换为一个 QName 值。
 short parseShort(String lexicalXSDShort)
           将字符串参数转换为一个 short 值。
 String parseString(String lexicalXSDString)
           将字符串参数转换为一个字符串。
 Calendar parseTime(String lexicalXSDTime)
           将字符串参数转换为一个 Calendar 值。
 long parseUnsignedInt(String lexicalXSDUnsignedInt)
           将字符串参数转换为一个 long 值。
 int parseUnsignedShort(String lexicalXSDUnsignedShort)
           将字符串参数转换为一个 int 值。
 String printAnySimpleType(String val)
           将字符串值转换为一个字符串。
 String printBase64Binary(byte[] val)
           将字节数组转换为一个字符串。
 String printBoolean(boolean val)
           将 boolean 值转换为一个字符串。
 String printByte(byte val)
           将 byte 值转换为一个字符串。
 String printDate(Calendar val)
           将 Calendar 值转换为一个字符串。
 String printDateTime(Calendar val)
           将 Calendar 值转换为一个字符串。
 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)
           将 long 值转换为一个字符串。
 String printQName(QName val, NamespaceContext nsc)
           将 QName 实例转换为一个字符串。
 String printShort(short val)
           将 short 值转换为一个字符串。
 String printString(String val)
           将字符串参数转换为一个字符串。
 String printTime(Calendar val)
           将 Calendar 值转换为一个字符串。
 String printUnsignedInt(long val)
           将 long 值转换为一个字符串。
 String printUnsignedShort(int val)
           将 int 值转换为一个字符串。
 

方法详细信息

parseString

String parseString(String lexicalXSDString)

将字符串参数转换为一个字符串。

参数:
lexicalXSDString - XML 模式数据类型 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)

将字符串参数转换为一个 long 值。

参数:
lexicalXSDLong - 包含 xsd:long 的词汇表示形式的字符串。
返回:
字符串参数表示的 long 值。
抛出:
NumberFormatException - 如果 lexicalXSDLong 不是 long 值的有效字符串表示形式。

parseShort

short parseShort(String lexicalXSDShort)

将字符串参数转换为一个 short 值。

参数:
lexicalXSDShort - 包含 xsd:short 的词汇表示形式的字符串。
返回:
字符串参数表示的 short 值。
抛出:
NumberFormatException - 如果 lexicalXSDShort 不是 short 值的有效字符串表示形式。

parseDecimal

BigDecimal parseDecimal(String lexicalXSDDecimal)

将字符串参数转换为一个 BigDecimal 值。

参数:
lexicalXSDDecimal - 包含 xsd:decimal 的词汇表示形式的字符串。
返回:
字符串参数表示的 BigDecimal 值。
抛出:
NumberFormatException - 如果 lexicalXSDDecimal 不是 BigDecimal 的有效字符串表示形式。

parseFloat

float parseFloat(String lexicalXSDFloat)

将字符串参数转换为一个 float 值。

参数:
lexicalXSDFloat - 包含 xsd:float 的词汇表示形式的字符串。
返回:
字符串参数表示的 float 值。
抛出:
NumberFormatException - 如果 lexicalXSDFloat 不是 float 值的有效字符串表示形式。

parseDouble

double parseDouble(String lexicalXSDDouble)

将字符串参数转换为一个 double 值。

参数:
lexicalXSDDouble - 包含 xsd:double 的词汇表示形式的字符串。
返回:
字符串参数表示的 double 值。
抛出:
NumberFormatException - 如果 lexicalXSDDouble 不是 double 值的有效字符串表示形式。

parseBoolean

boolean parseBoolean(String lexicalXSDBoolean)

将字符串参数转换为一个 boolean 值。

参数:
lexicalXSDBoolean - 包含 xsd:boolean 的词汇表示形式的字符串。
返回:
字符串参数表示的 boolean 值。
抛出:
IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:boolean 中定义的词汇值空间。

parseByte

byte parseByte(String lexicalXSDByte)

将字符串参数转换为一个 byte 值。

参数:
lexicalXSDByte - 包含 xsd:byte 的词汇表示形式的字符串。
返回:
字符串参数表示的 byte 值。
抛出:
NumberFormatException - 如果 lexicalXSDByte 不包含可解析的字节。
IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for 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 Schema Part 2 规范,或者 lexicalXSDQname 的名称空间前缀未绑定到 NamespaceContext nsc 中的 URI。

parseDateTime

Calendar parseDateTime(String lexicalXSDDateTime)

将字符串参数转换为一个 Calendar 值。

参数:
lexicalXSDDateTime - 包含 xsd:datetime 的词汇表示形式的字符串。
返回:
字符串参数表示的 Calendar 对象。
抛出:
IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:dateTime 中定义的词汇值空间。

parseBase64Binary

byte[] parseBase64Binary(String lexicalXSDBase64Binary)

将字符串参数转换为一个字节数组。

参数:
lexicalXSDBase64Binary - 包含 xsd:base64Binary 的词汇表示形式的字符串。
返回:
字符串参数表示的字节数组。
抛出:
IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:base64Binary 中定义的词汇值空间。

parseHexBinary

byte[] parseHexBinary(String lexicalXSDHexBinary)

将字符串参数转换为一个字节数组。

参数:
lexicalXSDHexBinary - 包含 xsd:hexBinary 的词汇表示形式的字符串。
返回:
字符串参数表示的字节数组。
抛出:
IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:hexBinary 中定义的词汇值空间。

parseUnsignedInt

long parseUnsignedInt(String lexicalXSDUnsignedInt)

将字符串参数转换为一个 long 值。

参数:
lexicalXSDUnsignedInt - 包含 xsd:unsignedInt 的词汇表示形式的字符串。
返回:
字符串参数表示的 long 值。
抛出:
NumberFormatException - 如果不能将字符串参数解析为 long 值。

parseUnsignedShort

int parseUnsignedShort(String lexicalXSDUnsignedShort)

将字符串参数转换为一个 int 值。

参数:
lexicalXSDUnsignedShort - 包含 xsd:unsignedShort 的词汇表示形式的字符串。
返回:
字符串参数表示的 int 值。
抛出:
NumberFormatException - 如果不能将字符串参数解析为 int 值。

parseTime

Calendar parseTime(String lexicalXSDTime)

将字符串参数转换为一个 Calendar 值。

参数:
lexicalXSDTime - 包含 xsd:Time 的词汇表示形式的字符串。
返回:
字符串参数表示的 Calendar 值。
抛出:
IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:Time 中定义的词汇值空间。

parseDate

Calendar parseDate(String lexicalXSDDate)

将字符串参数转换为一个 Calendar 值。

参数:
lexicalXSDDate - 包含 xsd:Date 的词汇表示形式的字符串。
返回:
字符串参数表示的 Calendar 值。
抛出:
IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:Time 中定义的词汇值空间。

parseAnySimpleType

String parseAnySimpleType(String lexicalXSDAnySimpleType)

返回包含简单类型的词汇表示形式的字符串。

参数:
lexicalXSDAnySimpleType - 包含简单类型的词汇表示形式的字符串。
返回:
包含简单类型的词汇表示形式的字符串。

printString

String printString(String val)

将字符串参数转换为一个字符串。

参数:
val - 字符串值。
返回:
包含 xsd:string 的词汇表示形式的字符串

printInteger

String printInteger(BigInteger val)

将 BigInteger 值转换为一个字符串。

参数:
val - 一个 BigInteger 值
返回:
包含 xsd:integer 的词汇表示形式的字符串
抛出:
IllegalArgumentException - 如果 val 为 null。

printInt

String printInt(int val)

将 int 值转换为一个字符串。

参数:
val - 一个 int 值
返回:
包含 xsd:int 的词汇表示形式的字符串

printLong

String printLong(long val)

将 long 值转换为一个字符串。

参数:
val - 一个 long 值
返回:
包含 xsd:long 的词汇表示形式的字符串

printShort

String printShort(short val)

将 short 值转换为一个字符串。

参数:
val - 一个 short 值
返回:
包含 xsd:short 的词汇表示形式的字符串

printDecimal

String printDecimal(BigDecimal val)

将 BigDecimal 值转换为一个字符串。

参数:
val - 一个 BigDecimal 值
返回:
包含 xsd:decimal 的词汇表示形式的字符串
抛出:
IllegalArgumentException - 如果 val 为 null。

printFloat

String printFloat(float val)

将 float 值转换为一个字符串。

参数:
val - 一个 float 值
返回:
包含 xsd:float 的词汇表示形式的字符串

printDouble

String printDouble(double val)

将 double 值转换为一个字符串。

参数:
val - 一个 double 值
返回:
包含 xsd:double 的词汇表示形式的字符串

printBoolean

String printBoolean(boolean val)

将 boolean 值转换为一个字符串。

参数:
val - 一个 boolean 值
返回:
包含 xsd:boolean 的词汇表示形式的字符串

printByte

String printByte(byte val)

将 byte 值转换为一个字符串。

参数:
val - 一个 byte 值
返回:
包含 xsd:byte 的词汇表示形式的字符串

printQName

String printQName(QName val,
                  NamespaceContext nsc)

将 QName 实例转换为一个字符串。

参数:
val - 一个 QName 值
nsc - 解释 QName 中前缀的名称空间上下文。
返回:
包含 QName 的词汇表示形式的字符串
抛出:
IllegalArgumentException - 如果 val 为 null、nsc 为非 null 或 nsc.getPrefix(nsprefixFromVal) 为 null。

printDateTime

String printDateTime(Calendar val)

将 Calendar 值转换为一个字符串。

参数:
val - 一个 Calendar 值
返回:
包含 xsd:dateTime 的词汇表示形式的字符串
抛出:
IllegalArgumentException - 如果 val 为 null。

printBase64Binary

String printBase64Binary(byte[] val)

将字节数组转换为一个字符串。

参数:
val - 一个字节数组
返回:
包含 xsd:base64Binary 的词汇表示形式的字符串
抛出:
IllegalArgumentException - 如果 val 为 null。

printHexBinary

String printHexBinary(byte[] val)

将字节数组转换为一个字符串。

参数:
val - 一个字节数组
返回:
包含 xsd:hexBinary 的词汇表示形式的字符串
抛出:
IllegalArgumentException - 如果 val 为 null。

printUnsignedInt

String printUnsignedInt(long val)

将 long 值转换为一个字符串。

参数:
val - 一个 long 值
返回:
包含 xsd:unsignedInt 的词汇表示形式的字符串

printUnsignedShort

String printUnsignedShort(int val)

将 int 值转换为一个字符串。

参数:
val - 一个 int 值
返回:
包含 xsd:unsignedShort 的词汇表示形式的字符串

printTime

String printTime(Calendar val)

将 Calendar 值转换为一个字符串。

参数:
val - 一个 Calendar 值
返回:
包含 xsd:time 的词汇表示形式的字符串
抛出:
IllegalArgumentException - 如果 val 为 null。

printDate

String printDate(Calendar val)

将 Calendar 值转换为一个字符串。

参数:
val - 一个 Calendar 值
返回:
包含 xsd:date 的词汇表示形式的字符串
抛出:
IllegalArgumentException - 如果 val 为 null。

printAnySimpleType

String printAnySimpleType(String val)

将字符串值转换为一个字符串。

参数:
val - 字符串值
返回:
包含 xsd:AnySimpleType 的词汇表示形式的字符串

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策