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。
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 值转换为一个字符串。  |  
    
| 方法详细信息 | 
|---|
String parseString(String lexicalXSDString)
将字符串参数转换为一个字符串。
lexicalXSDString - XML 模式数据类型 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)
将字符串参数转换为一个 long 值。
lexicalXSDLong - 包含 xsd:long 的词汇表示形式的字符串。 
     NumberFormatException - 如果 
      lexicalXSDLong 不是 
      long 值的有效字符串表示形式。
     short parseShort(String lexicalXSDShort)
将字符串参数转换为一个 short 值。
lexicalXSDShort - 包含 xsd:short 的词汇表示形式的字符串。 
     NumberFormatException - 如果 
      lexicalXSDShort 不是 
      short 值的有效字符串表示形式。
     BigDecimal parseDecimal(String lexicalXSDDecimal)
将字符串参数转换为一个 BigDecimal 值。
lexicalXSDDecimal - 包含 xsd:decimal 的词汇表示形式的字符串。 
     NumberFormatException - 如果 
      lexicalXSDDecimal 不是 
      BigDecimal 的有效字符串表示形式。
     float parseFloat(String lexicalXSDFloat)
将字符串参数转换为一个 float 值。
lexicalXSDFloat - 包含 xsd:float 的词汇表示形式的字符串。 
     NumberFormatException - 如果 
      lexicalXSDFloat 不是 
      float 值的有效字符串表示形式。
     double parseDouble(String lexicalXSDDouble)
将字符串参数转换为一个 double 值。
lexicalXSDDouble - 包含 xsd:double 的词汇表示形式的字符串。 
     NumberFormatException - 如果 
      lexicalXSDDouble 不是 
      double 值的有效字符串表示形式。
     boolean parseBoolean(String lexicalXSDBoolean)
将字符串参数转换为一个 boolean 值。
lexicalXSDBoolean - 包含 xsd:boolean 的词汇表示形式的字符串。 
     IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:boolean 中定义的词汇值空间。
     byte parseByte(String lexicalXSDByte)
将字符串参数转换为一个 byte 值。
lexicalXSDByte - 包含 xsd:byte 的词汇表示形式的字符串。 
     NumberFormatException - 如果 
      lexicalXSDByte 不包含可解析的字节。 
     IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:byte 中定义的词汇值空间。
     QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
将字符串参数转换为一个 QName 值。
字符串参数 lexicalXSDQname 必须符合 XML Schema Part 2: Datatypes specification:QNames 中指定的词汇值空间。
lexicalXSDQName - 包含 xsd:QName 的词汇表示形式的字符串。
     nsc - 解释 QName 中前缀的名称空间上下文。 
     IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2 规范,或者 
      lexicalXSDQname 的名称空间前缀未绑定到 NamespaceContext 
      nsc 中的 URI。
     Calendar parseDateTime(String lexicalXSDDateTime)
将字符串参数转换为一个 Calendar 值。
lexicalXSDDateTime - 包含 xsd:datetime 的词汇表示形式的字符串。 
     IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:dateTime 中定义的词汇值空间。
     byte[] parseBase64Binary(String lexicalXSDBase64Binary)
将字符串参数转换为一个字节数组。
lexicalXSDBase64Binary - 包含 xsd:base64Binary 的词汇表示形式的字符串。 
     IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:base64Binary 中定义的词汇值空间。
     byte[] parseHexBinary(String lexicalXSDHexBinary)
将字符串参数转换为一个字节数组。
lexicalXSDHexBinary - 包含 xsd:hexBinary 的词汇表示形式的字符串。 
     IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:hexBinary 中定义的词汇值空间。
     long parseUnsignedInt(String lexicalXSDUnsignedInt)
将字符串参数转换为一个 long 值。
lexicalXSDUnsignedInt - 包含 xsd:unsignedInt 的词汇表示形式的字符串。 
     NumberFormatException - 如果不能将字符串参数解析为 
      long 值。
     int parseUnsignedShort(String lexicalXSDUnsignedShort)
将字符串参数转换为一个 int 值。
lexicalXSDUnsignedShort - 包含 xsd:unsignedShort 的词汇表示形式的字符串。 
     NumberFormatException - 如果不能将字符串参数解析为 
      int 值。
     Calendar parseTime(String lexicalXSDTime)
将字符串参数转换为一个 Calendar 值。
lexicalXSDTime - 包含 xsd:Time 的词汇表示形式的字符串。 
     IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:Time 中定义的词汇值空间。
     Calendar parseDate(String lexicalXSDDate)
将字符串参数转换为一个 Calendar 值。
lexicalXSDDate - 包含 xsd:Date 的词汇表示形式的字符串。 
     IllegalArgumentException - 如果字符串参数不符合 XML Schema Part 2: Datatypes for xsd:Time 中定义的词汇值空间。
     String parseAnySimpleType(String lexicalXSDAnySimpleType)
返回包含简单类型的词汇表示形式的字符串。
lexicalXSDAnySimpleType - 包含简单类型的词汇表示形式的字符串。 
     String printString(String val)
将字符串参数转换为一个字符串。
val - 字符串值。 
     String printInteger(BigInteger val)
将 BigInteger 值转换为一个字符串。
val - 一个 BigInteger 值 
     IllegalArgumentException - 如果 
      val 为 null。
     String printInt(int val)
将 int 值转换为一个字符串。
val - 一个 int 值 
     String printLong(long val)
将 long 值转换为一个字符串。
val - 一个 long 值 
     String printShort(short val)
将 short 值转换为一个字符串。
val - 一个 short 值 
     String printDecimal(BigDecimal val)
将 BigDecimal 值转换为一个字符串。
val - 一个 BigDecimal 值 
     IllegalArgumentException - 如果 
      val 为 null。
     String printFloat(float val)
将 float 值转换为一个字符串。
val - 一个 float 值 
     String printDouble(double val)
将 double 值转换为一个字符串。
val - 一个 double 值 
     String printBoolean(boolean val)
将 boolean 值转换为一个字符串。
val - 一个 boolean 值 
     String printByte(byte val)
将 byte 值转换为一个字符串。
val - 一个 byte 值 
     String printQName(QName val, NamespaceContext nsc)
将 QName 实例转换为一个字符串。
val - 一个 QName 值
     nsc - 解释 QName 中前缀的名称空间上下文。 
     IllegalArgumentException - 如果 
      val 为 null、
      nsc 为非 null 或 
      nsc.getPrefix(nsprefixFromVal) 为 null。
     String printDateTime(Calendar val)
将 Calendar 值转换为一个字符串。
val - 一个 Calendar 值 
     IllegalArgumentException - 如果 
      val 为 null。
     String printBase64Binary(byte[] val)
将字节数组转换为一个字符串。
val - 一个字节数组 
     IllegalArgumentException - 如果 
      val 为 null。
     String printHexBinary(byte[] val)
将字节数组转换为一个字符串。
val - 一个字节数组 
     IllegalArgumentException - 如果 
      val 为 null。
     String printUnsignedInt(long val)
将 long 值转换为一个字符串。
val - 一个 long 值 
     String printUnsignedShort(int val)
将 int 值转换为一个字符串。
val - 一个 int 值 
     String printTime(Calendar val)
将 Calendar 值转换为一个字符串。
val - 一个 Calendar 值 
     IllegalArgumentException - 如果 
      val 为 null。
     String printDate(Calendar val)
将 Calendar 值转换为一个字符串。
val - 一个 Calendar 值 
     IllegalArgumentException - 如果 
      val 为 null。
     String printAnySimpleType(String val)
将字符串值转换为一个字符串。
val - 字符串值