public final class DatatypeConverter extends Object
的javatype绑定声明可用于自定义的XML Schema数据类型到java数据类型的约束。定制可以涉及编写解析和印刷方法和印刷解析的XML SCHEMA类型词汇表示的分别。然而,写作分析和打印方法需要的词汇表示的知识( XML Schema Part2: Datatypes specification ),因此可能很难写。
这个类可以更容易写解析和打印方法。它定义了静态分析和打印的方法,提供一个API提供商的实施分析和打印方法。这些方法是通过自定义解析和打印方法调用的。例如,XSD的结合:日期时间一长可以使用分析和打印方法如下定制:
// Customized parse method public long myParseCal( String dateTimeString ) { java.util.Calendar cal = DatatypeConverter.parseDateTime(dateTimeString); long longval = convert_calendar_to_long(cal); //application specific return longval; } // Customized print method public String myPrintCal( Long longval ) { java.util.Calendar cal = convert_long_to_calendar(longval) ; //application specific String dateTimeString = DatatypeConverter.printDateTime(cal); return dateTimeString; }
有一个静态分析和打印方法对应分析和打印的方法分别在DatatypeConverterInterface
。
静态方法中定义的类也可以被用来指定一个解析或在javatype结合申报打印方法。
JAXB商都需要调用setDatatypeConverter
API在一些点在第一元帅或解包操作(也许叫JAXBContext。一个实例中)。此步骤是必要的配置转换器,该转换器应用于执行打印和解析功能。
一个XML Schema数据类型的打印方法可以输出任何词汇表达,是有效的XML架构数据类型。如果在转换过程中遇到错误,然后一个时,或时子类必须由方法引发。
DatatypeConverterInterface
,
ParseConversionEvent
,
PrintConversionEvent
Modifier and Type | Method and Description |
---|---|
static String |
parseAnySimpleType(String lexicalXSDAnySimpleType)
返回一个包含简单类型的词法表示的字符串。
|
static byte[] |
parseBase64Binary(String lexicalXSDBase64Binary)
将字符串参数转换为字节数组。
|
static boolean |
parseBoolean(String lexicalXSDBoolean)
将字符串参数转换为布尔值。
|
static byte |
parseByte(String lexicalXSDByte)
将字符串参数转换为一个字节值。
|
static Calendar |
parseDate(String lexicalXSDDate)
将字符串参数转换为日历值。
|
static Calendar |
parseDateTime(String lexicalXSDDateTime)
将字符串参数转换为日历值。
|
static BigDecimal |
parseDecimal(String lexicalXSDDecimal)
将字符串参数为BigDecimal值。
|
static double |
parseDouble(String lexicalXSDDouble)
将字符串参数转换为双值。
|
static float |
parseFloat(String lexicalXSDFloat)
将字符串参数转换为浮动值。
|
static byte[] |
parseHexBinary(String lexicalXSDHexBinary)
将字符串参数转换为字节数组。
|
static int |
parseInt(String lexicalXSDInt)
将字符串参数为一个int值。
|
static BigInteger |
parseInteger(String lexicalXSDInteger)
将字符串参数为BigInteger值。
|
static long |
parseLong(String lexicalXSDLong)
将字符串参数转换为长值。
|
static QName |
parseQName(String lexicalXSDQName, NamespaceContext nsc)
将字符串参数转换为一个字节值。
|
static short |
parseShort(String lexicalXSDShort)
将字符串参数转换成一个短值。
|
static String |
parseString(String lexicalXSDString)
将词汇XSD字符串参数为一个字符串值。
|
static Calendar |
parseTime(String lexicalXSDTime)
将字符串参数转换为日历值。
|
static long |
parseUnsignedInt(String lexicalXSDUnsignedInt)
将字符串参数转换为长值。
|
static int |
parseUnsignedShort(String lexicalXSDUnsignedShort)
将字符串参数为一个int值。
|
static String |
printAnySimpleType(String val)
将字符串值转换为字符串。
|
static String |
printBase64Binary(byte[] val)
将一个字节数组转换为字符串。
|
static String |
printBoolean(boolean val)
将一个布尔值转换为字符串。
|
static String |
printByte(byte val)
将一个字节值转换为字符串。
|
static String |
printDate(Calendar val)
将日历值转换为字符串。
|
static String |
printDateTime(Calendar val)
将日历值转换为字符串。
|
static String |
printDecimal(BigDecimal val)
将一个BigDecimal值为字符串。
|
static String |
printDouble(double val)
将双值转换为字符串。
|
static String |
printFloat(float val)
将一个浮点值转换为字符串。
|
static String |
printHexBinary(byte[] val)
将一个字节数组转换为字符串。
|
static String |
printInt(int val)
将一个int类型的值转换为字符串。
|
static String |
printInteger(BigInteger val)
BigInteger值转换为字符串。
|
static String |
printLong(long val)
将一个长的值转换为字符串。
|
static String |
printQName(QName val, NamespaceContext nsc)
转换成一个字符串属性实例。
|
static String |
printShort(short val)
将一个短值转换成一个字符串。
|
static String |
printString(String val)
将字符串参数转换为字符串。
|
static String |
printTime(Calendar val)
将日历值转换为字符串。
|
static String |
printUnsignedInt(long val)
将一个长的值转换为字符串。
|
static String |
printUnsignedShort(int val)
将一个int类型的值转换为字符串。
|
static void |
setDatatypeConverter(DatatypeConverterInterface converter)
该方法是使用JAXB提供商。
|
public static void setDatatypeConverter(DatatypeConverterInterface converter)
JAXB供应商都需要调用这个方法,在一些点在允许任何客户端的数据操作或JAXB元帅发生。这是必要的配置数据类型转换器,可用于打印和解析转换。
调用此API反复将没有效果-进入第一次调用的datatypeconverterinterface实例就是将从此用。
converter
-一个类实现的datatypeconverterinterface类此参数不能为空的一个实例。
IllegalArgumentException
如果参数为空
SecurityException
-如果负责
SecurityManager
否认设置数据类型转换器接入。
JAXBPermission
public static String parseString(String lexicalXSDString)
将词汇XSD字符串参数为一个字符串值。
lexicalXSDString
-一个包含词汇表征XSD:字符串。
public static BigInteger parseInteger(String lexicalXSDInteger)
将字符串参数为BigInteger值。
lexicalXSDInteger
-一个包含词汇表征XSD:整数。
NumberFormatException
-
lexicalXSDInteger
不是一个
BigInteger
值有效的字符串表示形式。
public static int parseInt(String lexicalXSDInt)
将字符串参数为一个int值。
lexicalXSDInt
-一个包含词汇表征XSD:int。
NumberFormatException
-
lexicalXSDInt
不是一个
int
值有效的字符串表示形式。
public static long parseLong(String lexicalXSDLong)
将字符串参数转换为长值。
lexicalXSDLong
-字符串XSD词汇表征:长。
NumberFormatException
-
lexicalXSDLong
不是一个
long
值有效的字符串表示形式。
public static short parseShort(String lexicalXSDShort)
将字符串参数转换成一个短值。
lexicalXSDShort
-字符串XSD词汇表示:短。
NumberFormatException
-
lexicalXSDShort
不是一个
short
值有效的字符串表示形式。
public static BigDecimal parseDecimal(String lexicalXSDDecimal)
将字符串参数为BigDecimal值。
lexicalXSDDecimal
-字符串XSD词汇表示:十进制。
NumberFormatException
-
lexicalXSDDecimal
不是
BigDecimal
有效的字符串表示形式。
public static float parseFloat(String lexicalXSDFloat)
将字符串参数转换为浮动值。
lexicalXSDFloat
-字符串XSD词汇表征:浮。
NumberFormatException
-
lexicalXSDFloat
不是一个
float
值有效的字符串表示形式。
public static double parseDouble(String lexicalXSDDouble)
将字符串参数转换为双值。
lexicalXSDDouble
-字符串XSD词汇表示:双。
NumberFormatException
-
lexicalXSDDouble
不是一个
double
值有效的字符串表示形式。
public static boolean parseBoolean(String lexicalXSDBoolean)
将字符串参数转换为布尔值。
lexicalXSDBoolean
-字符串XSD词汇表示:布尔。
IllegalArgumentException
如果字符串参数不符合词汇的价值空间在XML Schema定义:2 Datatypes XSD:布尔。
public static byte parseByte(String lexicalXSDByte)
将字符串参数转换为一个字节值。
lexicalXSDByte
-字符串XSD词汇表征:字节。
IllegalArgumentException
如果字符串参数不符合词汇的价值空间在XML Schema定义:2 Datatypes XSD:字节。
public static QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
将字符串参数转换为一个字节值。
字符串参数lexicalXSDQname必须符合指定的词汇价值空间在XML Schema Part 2:Datatypes specification:QNames
lexicalXSDQName
-字符串XSD词汇表示:QName。
nsc
-命名空间上下文解释在一个QName前缀。
IllegalArgumentException
如果字符串参数不符合XML架构2部分规范或者命名空间前缀的
lexicalXSDQname不一定要在namespacecontext
nsc URI。
public static Calendar parseDateTime(String lexicalXSDDateTime)
将字符串参数转换为日历值。
lexicalXSDDateTime
-字符串XSD词汇表征:日期。
IllegalArgumentException
如果字符串参数不符合词汇的价值空间在XML Schema定义:2部分:Datatypes的XSD日期。
public static byte[] parseBase64Binary(String lexicalXSDBase64Binary)
将字符串参数转换为字节数组。
lexicalXSDBase64Binary
-字符串XSD词汇表征:base64Binary。
IllegalArgumentException
如果字符串参数不符合词汇的价值空间在XML架构2部分:Datatypes:base64Binary XSD定义
public static byte[] parseHexBinary(String lexicalXSDHexBinary)
将字符串参数转换为字节数组。
lexicalXSDHexBinary
-字符串XSD词汇表征:hexBinary。
IllegalArgumentException
如果字符串参数不符合词汇的价值空间在XML架构2部分:Datatypes:hexBinary XSD定义。
public static long parseUnsignedInt(String lexicalXSDUnsignedInt)
将字符串参数转换为长值。
lexicalXSDUnsignedInt
-字符串XSD词汇表示:unsignedint。
NumberFormatException
如果字符串参数不能被解析成一个
long价值。
public static int parseUnsignedShort(String lexicalXSDUnsignedShort)
将字符串参数为一个int值。
lexicalXSDUnsignedShort
-字符串XSD词汇表示:unsignedshort。
NumberFormatException
如果字符串参数不能被解析成一个
int价值。
public static Calendar parseTime(String lexicalXSDTime)
将字符串参数转换为日历值。
lexicalXSDTime
-字符串XSD词汇表示:时间。
IllegalArgumentException
如果字符串参数不符合词汇的价值空间在XML Schema定义:2 Datatypes XSD:时间。
public static Calendar parseDate(String lexicalXSDDate)
将字符串参数转换为日历值。
lexicalXSDDate
-字符串XSD词汇表征:日期。
IllegalArgumentException
如果字符串参数不符合词汇的价值空间在XML Schema定义:2 Datatypes XSD:日期。
public static String parseAnySimpleType(String lexicalXSDAnySimpleType)
返回一个包含简单类型的词法表示的字符串。
lexicalXSDAnySimpleType
-字符串的简单类型的词汇表征。
public static String printString(String val)
将字符串参数转换为字符串。
val
-一个字符串值。
public static String printInteger(BigInteger val)
BigInteger值转换为字符串。
val
- BigInteger值
IllegalArgumentException
-
val是空的。
public static String printInt(int val)
将一个int类型的值转换为字符串。
val
-一个int值
public static String printLong(long val)
将一个长的值转换为字符串。
val
-长值
public static String printShort(short val)
将一个短值转换成一个字符串。
val
-短值
public static String printDecimal(BigDecimal val)
将一个BigDecimal值为字符串。
val
- BigDecimal值
IllegalArgumentException
-
val是空的。
public static String printFloat(float val)
将一个浮点值转换为字符串。
val
-浮点值
public static String printDouble(double val)
将双值转换为字符串。
val
-双重价值
public static String printBoolean(boolean val)
将一个布尔值转换为字符串。
val
-布尔值
public static String printByte(byte val)
将一个字节值转换为字符串。
val
-一个字节值
public static String printQName(QName val, NamespaceContext nsc)
转换成一个字符串属性实例。
val
-属性值
nsc
-命名空间上下文解释在一个QName前缀。
IllegalArgumentException
-如果
nsc非空或
nsc.getPrefix(nsprefixFromVal)
val是null或空。
public static String printDateTime(Calendar val)
将日历值转换为字符串。
val
-日历的价值
IllegalArgumentException
-如果
val是空的。
public static String printBase64Binary(byte[] val)
将一个字节数组转换为字符串。
val
-字节数组
IllegalArgumentException
-如果
val是空的。
public static String printHexBinary(byte[] val)
将一个字节数组转换为字符串。
val
-字节数组
IllegalArgumentException
-如果
val是空的。
public static String printUnsignedInt(long val)
将一个长的值转换为字符串。
val
-长值
public static String printUnsignedShort(int val)
将一个int类型的值转换为字符串。
val
-一个int值
public static String printTime(Calendar val)
将日历值转换为字符串。
val
-日历的价值
IllegalArgumentException
-如果
val是空的。
public static String printDate(Calendar val)
将日历值转换为字符串。
val
-日历的价值
IllegalArgumentException
-如果
val是空的。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.