Module  java.xml.bind
软件包  javax.xml.bind

Interface DatatypeConverterInterface



  • 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
    另请参见:
    DatatypeConverterParseConversionEventPrintConversionEvent
    • 方法详细信息

      • 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未绑定到NamespaceContext nsc的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 - 一个包含简单类型的词法表示的字符串。
        结果
        包含简单类型的词法表示的字符串。
      • printString

        String printString​(String val)
        将字符串参数转换为字符串。
        参数
        val - 字符串值。
        结果
        包含xsd:string的词法表示形式的字符串
      • 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为空。
      • printAnySimpleType

        String printAnySimpleType​(String val)
        将字符串值转换为字符串。
        参数
        val - 字符串值
        结果
        包含xsd:AnySimpleType的词法表示形式的字符串