|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.xml.bind.DatatypeConverter
public final class DatatypeConverter
可以使用 javaType 綁定宣告來自定義 XML 網要資料型別到 Java 資料型別的綁定。自定義可能涉及編寫分別用來解析和列印 XML 網要資料型別的詞彙表示形式的 parse 和 print 方法。不過,編寫 parse 和 print 方法需要瞭解詞彙表示形式( XML Schema Part2: Datatypes 規範),因此可能很難編寫。
此類別使編寫 parse 和 print 方法變得更容易。它定義了靜態 parse 和 print 方法,以便存取 JAXB 提供者的 parse 和 print 方法的實作。這些方法由自定義 parse 和 print 方法調用。例如,可以使用如下 parse 和 print 方法來自定義 xsd:dateTime 到 long 值的綁定:
// 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
中有分別對應於每個 parse 和 print 方法的靜態 parse 和 print 方法。
在該類別中定義的靜態方法還可以用於指定 javaType 綁定宣告中的 parse 和 print 方法。
JAXB 提供者需要在第一次執行編組或解組操作之前(可能是在調用 JAXBContext.newInstance 期間)的某個時間點調用 setDatatypeConverter
API。要配置用於執行列印和解析功能的轉換器,這一步是必需的。
XML 網要資料型別的 print 方法可以輸出對於 XML 網要資料型別有效的任何詞彙表示形式。如果在轉換期間發生錯誤,則該方法將拋出 IllegalArgumentException,或者拋出 IllegalArgumentException 的子類別。
DatatypeConverterInterface
,
ParseConversionEvent
,
PrintConversionEvent
方法摘要 | |
---|---|
static String |
parseAnySimpleType(String lexicalXSDAnySimpleType)
返回包含簡單型別的詞彙表示形式的字元串。 |
static byte[] |
parseBase64Binary(String lexicalXSDBase64Binary)
將字元串參數轉換為一個位元組陣列。 |
static boolean |
parseBoolean(String lexicalXSDBoolean)
將字元串參數轉換為一個 boolean 值。 |
static byte |
parseByte(String lexicalXSDByte)
將字元串參數轉換為一個 byte 值。 |
static Calendar |
parseDate(String lexicalXSDDate)
將字元串參數轉換為一個 Calendar 值。 |
static Calendar |
parseDateTime(String lexicalXSDDateTime)
將字元串參數轉換為一個 Calendar 值。 |
static BigDecimal |
parseDecimal(String lexicalXSDDecimal)
將字元串參數轉換為一個 BigDecimal 值。 |
static double |
parseDouble(String lexicalXSDDouble)
將字元串參數轉換為一個 double 值。 |
static float |
parseFloat(String lexicalXSDFloat)
將字元串參數轉換為一個 float 值。 |
static byte[] |
parseHexBinary(String lexicalXSDHexBinary)
將字元串參數轉換為一個位元組陣列。 |
static int |
parseInt(String lexicalXSDInt)
將字元串參數轉換為一個 int 值。 |
static BigInteger |
parseInteger(String lexicalXSDInteger)
將字元串參數轉換為一個 BigInteger 值。 |
static long |
parseLong(String lexicalXSDLong)
將字元串參數轉換為一個 long 值。 |
static QName |
parseQName(String lexicalXSDQName,
NamespaceContext nsc)
將字元串參數轉換為一個 byte 值。 |
static short |
parseShort(String lexicalXSDShort)
將字元串參數轉換為一個 short 值。 |
static String |
parseString(String lexicalXSDString)
將詞彙 XSD 字元串參數轉換為一個 String 值。 |
static Calendar |
parseTime(String lexicalXSDTime)
將字元串參數轉換為一個 Calendar 值。 |
static long |
parseUnsignedInt(String lexicalXSDUnsignedInt)
將字元串參數轉換為一個 long 值。 |
static int |
parseUnsignedShort(String lexicalXSDUnsignedShort)
將字元串參數轉換為一個 int 值。 |
static String |
printAnySimpleType(String val)
將字元串值轉換為一個字元串。 |
static String |
printBase64Binary(byte[] val)
將位元組陣列轉換為一個字元串。 |
static String |
printBoolean(boolean val)
將 boolean 值轉換為一個字元串。 |
static String |
printByte(byte val)
將 byte 值轉換為一個字元串。 |
static String |
printDate(Calendar val)
將 Calendar 值轉換為一個字元串。 |
static String |
printDateTime(Calendar val)
將 Calendar 值轉換為一個字元串。 |
static String |
printDecimal(BigDecimal val)
將 BigDecimal 值轉換為一個字元串。 |
static String |
printDouble(double val)
將 double 值轉換為一個字元串。 |
static String |
printFloat(float val)
將 float 值轉換為一個字元串。 |
static String |
printHexBinary(byte[] val)
將位元組陣列轉換為一個字元串。 |
static String |
printInt(int val)
將 int 值轉換為一個字元串。 |
static String |
printInteger(BigInteger val)
將 BigInteger 值轉換為一個字元串。 |
static String |
printLong(long val)
將 long 值轉換為一個字元串。 |
static String |
printQName(QName val,
NamespaceContext nsc)
將 QName 實例轉換為一個字元串。 |
static String |
printShort(short val)
將 short 值轉換為一個字元串。 |
static String |
printString(String val)
將字元串參數轉換為一個字元串。 |
static String |
printTime(Calendar val)
將 Calendar 值轉換為一個字元串。 |
static String |
printUnsignedInt(long val)
將 long 值轉換為一個字元串。 |
static String |
printUnsignedShort(int val)
將 int 值轉換為一個字元串。 |
static void |
setDatatypeConverter(DatatypeConverterInterface converter)
此方法僅適用於 JAXB 提供者。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法詳細資訊 |
---|
public static void setDatatypeConverter(DatatypeConverterInterface converter)
JAXB 提供者需要在允許執行任何 JAXB 客戶端編組或解組操作之前的某個時間點調用此方法。要配置用於執行列印和解析功能的轉換器,這一步是必需的。
重複調用此 API 是無效的,傳入第一次調用中的 DatatypeConverterInterface 實例將始終用於後續調用。
converter
- 實作 DatatypeConverterInterface 類別的類別實例,此參數不能為 null。
IllegalArgumentException
- 如果參數為 nullpublic static String parseString(String lexicalXSDString)
將詞彙 XSD 字元串參數轉換為一個 String 值。
lexicalXSDString
- 套件含 xsd:string 的詞彙表示形式的字元串。
public static BigInteger parseInteger(String lexicalXSDInteger)
將字元串參數轉換為一個 BigInteger 值。
lexicalXSDInteger
- 套件含 xsd:integer 的詞彙表示形式的字元串。
NumberFormatException
- 如果 lexicalXSDInteger
不是 BigInteger
值的有效字元串表示形式。public static int parseInt(String lexicalXSDInt)
將字元串參數轉換為一個 int 值。
lexicalXSDInt
- 套件含 xsd:int 的詞彙表示形式的字元串。
NumberFormatException
- 如果 lexicalXSDInt
不是 int
值的有效字元串表示形式。public static long parseLong(String lexicalXSDLong)
將字元串參數轉換為一個 long 值。
lexicalXSDLong
- 套件含 xsd:long 的詞彙表示形式的字元串。
NumberFormatException
- 如果 lexicalXSDLong
不是 long
值的有效字元串表示形式。public static short parseShort(String lexicalXSDShort)
將字元串參數轉換為一個 short 值。
lexicalXSDShort
- 套件含 xsd:short 的詞彙表示形式的字元串。
NumberFormatException
- 如果 lexicalXSDShort
不是 short
值的有效字元串表示形式。public static BigDecimal parseDecimal(String lexicalXSDDecimal)
將字元串參數轉換為一個 BigDecimal 值。
lexicalXSDDecimal
- 套件含 xsd:decimal 的詞彙表示形式的字元串。
NumberFormatException
- 如果 lexicalXSDDecimal
不是 BigDecimal
的有效字元串表示形式。public static float parseFloat(String lexicalXSDFloat)
將字元串參數轉換為一個 float 值。
lexicalXSDFloat
- 套件含 xsd:float 的詞彙表示形式的字元串。
NumberFormatException
- 如果 lexicalXSDFloat
不是 float
值的有效字元串表示形式。public static double parseDouble(String lexicalXSDDouble)
將字元串參數轉換為一個 double 值。
lexicalXSDDouble
- 套件含 xsd:double 的詞彙表示形式的字元串。
NumberFormatException
- 如果 lexicalXSDDouble
不是 double
值的有效字元串表示形式。public static boolean parseBoolean(String lexicalXSDBoolean)
將字元串參數轉換為一個 boolean 值。
lexicalXSDBoolean
- 套件含 xsd:boolean 的詞彙表示形式的字元串。
IllegalArgumentException
- 如果字元串參數不符合 XML Schema Part 2: Datatypes 中為 xsd:boolean 定義的詞彙值空間。public static byte parseByte(String lexicalXSDByte)
將字元串參數轉換為一個 byte 值。
lexicalXSDByte
- 套件含 xsd:byte 的詞彙表示形式的字元串。
IllegalArgumentException
- 如果字元串參數不符合 XML Schema Part 2: Datatypes 為 xsd:byte 定義的詞彙值空間。public static QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
將字元串參數轉換為一個 byte 值。
字元串參數 lexicalXSDQname 必須符合 XML Schema Part 2: Datatypes 規範:QName 中指定的詞彙值空間。
lexicalXSDQName
- 套件含 xsd:QName 的詞彙表示形式的字元串。nsc
- 解釋 QName 中前綴的名稱空間上下文。
IllegalArgumentException
- 如果字元串參數不符合 XML Schema Part 2 規範,或者 lexicalXSDQname 的名稱空間前綴未綁定到 NamespaceContext nsc 中的 URI。public static Calendar parseDateTime(String lexicalXSDDateTime)
將字元串參數轉換為一個 Calendar 值。
lexicalXSDDateTime
- 套件含 xsd:datetime 的詞彙表示形式的字元串。
IllegalArgumentException
- 如果字元串參數不符合 XML Schema Part 2: Datatypes 為 xsd:dateTime 定義的詞彙值空間。public static byte[] parseBase64Binary(String lexicalXSDBase64Binary)
將字元串參數轉換為一個位元組陣列。
lexicalXSDBase64Binary
- 套件含 xsd:base64Binary 的詞彙表示形式的字元串。
IllegalArgumentException
- 如果字元串參數不符合 XML Schema Part 2: Datatypes 為 xsd:base64Binary 定義的詞彙值空間。public static byte[] parseHexBinary(String lexicalXSDHexBinary)
將字元串參數轉換為一個位元組陣列。
lexicalXSDHexBinary
- 套件含 xsd:hexBinary 的詞彙表示形式的字元串。
IllegalArgumentException
- 如果字元串參數不符合 XML Schema Part 2: Datatypes 為 xsd:hexBinary 定義的詞彙值空間。public static long parseUnsignedInt(String lexicalXSDUnsignedInt)
將字元串參數轉換為一個 long 值。
lexicalXSDUnsignedInt
- 套件含 xsd:unsignedInt 的詞彙表示形式的字元串。
NumberFormatException
- 如果不能將字元串參數解析為 long 值。public static int parseUnsignedShort(String lexicalXSDUnsignedShort)
將字元串參數轉換為一個 int 值。
lexicalXSDUnsignedShort
- 套件含 xsd:unsignedShort 的詞彙表示形式的字元串。
NumberFormatException
- 如果不能將字元串參數解析為 int 值。public static Calendar parseTime(String lexicalXSDTime)
將字元串參數轉換為一個 Calendar 值。
lexicalXSDTime
- 套件含 xsd:time 的詞彙表示形式的字元串。
IllegalArgumentException
- 如果字元串參數不符合 XML Schema Part 2: Datatypes 為 xsd:Time 定義的詞彙值空間。public static Calendar parseDate(String lexicalXSDDate)
將字元串參數轉換為一個 Calendar 值。
lexicalXSDDate
- 套件含 xsd:Date 的詞彙表示形式的字元串。
IllegalArgumentException
- 如果字元串參數不符合 XML Schema Part 2: Datatypes 為 xsd:Date 定義的詞彙值空間。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 為 null。public static String printInt(int val)
將 int 值轉換為一個字元串。
val
- 一個 int 值
public static String printLong(long val)
將 long 值轉換為一個字元串。
val
- 一個 long 值
public static String printShort(short val)
將 short 值轉換為一個字元串。
val
- 一個 short 值
public static String printDecimal(BigDecimal val)
將 BigDecimal 值轉換為一個字元串。
val
- 一個 BigDecimal 值
IllegalArgumentException
- 如果 val 為 null。public static String printFloat(float val)
將 float 值轉換為一個字元串。
val
- 一個 float 值
public static String printDouble(double val)
將 double 值轉換為一個字元串。
val
- 一個 double 值
public static String printBoolean(boolean val)
將 boolean 值轉換為一個字元串。
val
- 一個 boolean 值
public static String printByte(byte val)
將 byte 值轉換為一個字元串。
val
- 一個 byte 值
public static String printQName(QName val, NamespaceContext nsc)
將 QName 實例轉換為一個字元串。
val
- 一個 QName 值nsc
- 解釋 QName 中前綴的名稱空間上下文。
IllegalArgumentException
- 如果 val 為 null、nsc 為非 null 或 nsc.getPrefix(nsprefixFromVal) 為 null。public static String printDateTime(Calendar val)
將 Calendar 值轉換為一個字元串。
val
- 一個 Calendar 值
IllegalArgumentException
- 如果 val 為 null。public static String printBase64Binary(byte[] val)
將位元組陣列轉換為一個字元串。
val
- 一個位元組陣列
IllegalArgumentException
- 如果 val 為 null。public static String printHexBinary(byte[] val)
將位元組陣列轉換為一個字元串。
val
- 一個位元組陣列
IllegalArgumentException
- 如果 val 為 null。public static String printUnsignedInt(long val)
將 long 值轉換為一個字元串。
val
- 一個 long 值
public static String printUnsignedShort(int val)
將 int 值轉換為一個字元串。
val
- 一個 int 值
public static String printTime(Calendar val)
將 Calendar 值轉換為一個字元串。
val
- 一個 Calendar 值
IllegalArgumentException
- 如果 val 為 null。public static String printDate(Calendar val)
將 Calendar 值轉換為一個字元串。
val
- 一個 Calendar 值
IllegalArgumentException
- 如果 val 為 null。public static String printAnySimpleType(String val)
將字元串值轉換為一個字元串。
val
- 字元串值
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。