クラス DatatypeConverter
- java.lang.ObjectSE
-
- jakarta.xml.bind.DatatypeConverter
public final class DatatypeConverter extends ObjectSE
javaType バインディング宣言を使用すると、XML スキーマデータ型の Java データ型へのバインディングをカスタマイズできます。カスタマイズには、XML スキーマデータ型の字句表現を解析および出力するための解析メソッドと出力メソッドの記述が含まれます。ただし、解析メソッドと出力メソッドの記述には字句表現 (XML スキーマ Part2: データ型の仕様) の知識が必要なため、記述が難しい場合があります。
このクラスを使用すると、解析メソッドと出力メソッドの記述が容易になります。このクラスは、Jakarta XML Binding プロバイダーの解析メソッドと出力メソッドの実装へのアクセスを提供する静的解析メソッドと出力メソッドを定義します。これらのメソッドは、カスタム解析メソッドと出力メソッドによって呼び出されます。例: 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
には、それぞれの解析メソッドと出力メソッドに対応する静的な解析メソッドと出力メソッドがあります。クラスで定義された静的メソッドは、javaType バインディング宣言で解析メソッドまたは出力メソッドを指定するためにも使用できます。
Jakarta XML Binding Providers は、最初のマーシャルまたはアンマーシャル操作の前のある時点で(おそらく、JAXBContext.newInstance の呼び出し中に)
setDatatypeConverter
API を呼び出す必要があります。この手順は、出力および解析機能を実行するために使用する必要があるコンバーターを構成するために必要です。XML スキーマデータ型の print メソッドは、XML スキーマデータ型に関して有効な任意の字句表現を出力できます。変換中にエラーが発生した場合は、IllegalArgumentException または IllegalArgumentException のサブクラスをメソッドでスローする必要があります。
- 導入:
- 1.6、JAXB 1.0
- 作成者:
- Sekhar Vajjhala, Sun Microsystems, Inc.
- Joe Fialli, Sun Microsystems Inc.
- Kohsuke Kawaguchi, Sun Microsystems, Inc.
- Ryan Shoemaker,Sun Microsystems Inc.
- 関連事項:
DatatypeConverterInterface
,ParseConversionEvent
,PrintConversionEvent
メソッドのサマリー
すべてのメソッド 静的メソッド 具象メソッド 修飾子と型 メソッド 説明 static StringSE
parseAnySimpleType(StringSE lexicalXSDAnySimpleType)
単純型の字句表現を含む文字列を返します。static byte[]
parseBase64Binary(StringSE lexicalXSDBase64Binary)
文字列引数をバイトの配列に変換します。static boolean
parseBoolean(StringSE lexicalXSDBoolean)
文字列引数をブール値に変換します。static byte
parseByte(StringSE lexicalXSDByte)
文字列引数をバイト値に変換します。static CalendarSE
parseDate(StringSE lexicalXSDDate)
文字列引数をカレンダー値に変換します。static CalendarSE
parseDateTime(StringSE lexicalXSDDateTime)
文字列引数をカレンダー値に変換します。static BigDecimalSE
parseDecimal(StringSE lexicalXSDDecimal)
文字列引数を BigDecimal 値に変換します。static double
parseDouble(StringSE lexicalXSDDouble)
文字列引数を double 値に変換します。static float
parseFloat(StringSE lexicalXSDFloat)
文字列引数を float 値に変換します。static byte[]
parseHexBinary(StringSE lexicalXSDHexBinary)
文字列引数をバイトの配列に変換します。static int
parseInt(StringSE lexicalXSDInt)
文字列引数を int 値に変換します。static BigIntegerSE
parseInteger(StringSE lexicalXSDInteger)
文字列引数を BigInteger 値に変換します。static long
parseLong(StringSE lexicalXSDLong)
文字列引数を long 値に変換します。static QNameSE
parseQName(StringSE lexicalXSDQName, NamespaceContextSE nsc)
文字列引数をバイト値に変換します。static short
parseShort(StringSE lexicalXSDShort)
文字列引数を短い値に変換します。static StringSE
parseString(StringSE lexicalXSDString)
字句 XSD 文字列引数を文字列値に変換します。static CalendarSE
parseTime(StringSE lexicalXSDTime)
文字列引数をカレンダー値に変換します。static long
parseUnsignedInt(StringSE lexicalXSDUnsignedInt)
文字列引数を long 値に変換します。static int
parseUnsignedShort(StringSE lexicalXSDUnsignedShort)
文字列引数を int 値に変換します。static StringSE
printAnySimpleType(StringSE val)
文字列値を文字列に変換します。static StringSE
printBase64Binary(byte[] val)
バイトの配列を文字列に変換します。static StringSE
printBoolean(boolean val)
ブール値を文字列に変換します。static StringSE
printByte(byte val)
バイト値を文字列に変換します。static StringSE
printDate(CalendarSE val)
カレンダー値を文字列に変換します。static StringSE
printDateTime(CalendarSE val)
カレンダー値を文字列に変換します。static StringSE
printDecimal(BigDecimalSE val)
BigDecimal 値を文字列に変換します。static StringSE
printDouble(double val)
double 値を文字列に変換します。static StringSE
printFloat(float val)
float 値を文字列に変換します。static StringSE
printHexBinary(byte[] val)
バイトの配列を文字列に変換します。static StringSE
printInt(int val)
int 値を文字列に変換します。static StringSE
printInteger(BigIntegerSE val)
BigInteger 値を文字列に変換します。static StringSE
printLong(long val)
長い値を文字列に変換します。static StringSE
printQName(QNameSE val, NamespaceContextSE nsc)
QName インスタンスを文字列に変換します。static StringSE
printShort(short val)
短い値を文字列に変換します。static StringSE
printString(StringSE val)
文字列引数を文字列に変換します。static StringSE
printTime(CalendarSE val)
カレンダー値を文字列に変換します。static StringSE
printUnsignedInt(long val)
long 値を文字列に変換します。static StringSE
printUnsignedShort(int val)
int 値を文字列に変換します。static void
setDatatypeConverter(DatatypeConverterInterface converter)
この方法は、Jakarta XML Binding プロバイダー専用です。
メソッドの詳細
setDatatypeConverter
public static void setDatatypeConverter(DatatypeConverterInterface converter)
この方法は、Jakarta XML Binding プロバイダー専用です。Jakarta XML Binding Providers は、Jakarta XML Binding クライアントのマーシャルまたはアンマーシャル操作の実行を許可する前に、ある時点でこのメソッドを呼び出す必要があります。これは、出力および解析変換を実行するために使用する必要があるデータ型コンバーターを構成するために必要です。
この API を繰り返し呼び出しても効果はありません。最初の呼び出しに渡された DatatypeConverterInterface インスタンスは、それ以降に使用されるインスタンスです。
- パラメーター:
converter
- DatatypeConverterInterface クラスを実装するクラスのインスタンス - このパラメーターは null であってはなりません。- 例外:
IllegalArgumentExceptionSE
- パラメーターが null の場合SecurityExceptionSE
- 担当のSecurityManager
SE がデータ型コンバーターを設定するためのアクセスを拒否した場合。- 関連事項:
JAXBPermission
parseString
public static StringSE parseString(StringSE lexicalXSDString)
字句 XSD 文字列引数を文字列値に変換します。
- パラメーター:
lexicalXSDString
- xsd:string の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される文字列値。
parseInteger
public static BigIntegerSE parseInteger(StringSE lexicalXSDInteger)
文字列引数を BigInteger 値に変換します。
- パラメーター:
lexicalXSDInteger
- xsd:integer の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される BigInteger 値。
- 例外:
NumberFormatExceptionSE
-lexicalXSDInteger
は、BigInteger
SE 値の有効な文字列表現ではありません。
parseInt
public static int parseInt(StringSE lexicalXSDInt)
文字列引数を int 値に変換します。
- パラメーター:
lexicalXSDInt
- xsd:int の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される int 値。
- 例外:
NumberFormatExceptionSE
-lexicalXSDInt
は、int
値の有効な文字列表現ではありません。
parseLong
public static long parseLong(StringSE lexicalXSDLong)
文字列引数を long 値に変換します。
- パラメーター:
lexicalXSDLong
- xsd:long の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される長い値。
- 例外:
NumberFormatExceptionSE
-lexicalXSDLong
は、long
値の有効な文字列表現ではありません。
parseShort
public static short parseShort(StringSE lexicalXSDShort)
文字列引数を短い値に変換します。
- パラメーター:
lexicalXSDShort
- xsd:short の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される短い値。
- 例外:
NumberFormatExceptionSE
-lexicalXSDShort
は、short
値の有効な文字列表現ではありません。
parseDecimal
public static BigDecimalSE parseDecimal(StringSE lexicalXSDDecimal)
文字列引数を BigDecimal 値に変換します。
- パラメーター:
lexicalXSDDecimal
- xsd:decimal の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される BigDecimal 値。
- 例外:
NumberFormatExceptionSE
-lexicalXSDDecimal
は、BigDecimal
SE の有効な文字列表現ではありません。
parseFloat
public static float parseFloat(StringSE lexicalXSDFloat)
文字列引数を float 値に変換します。
- パラメーター:
lexicalXSDFloat
- xsd:float の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される浮動小数点値。
- 例外:
NumberFormatExceptionSE
-lexicalXSDFloat
は、float
値の有効な文字列表現ではありません。
parseDouble
public static double parseDouble(StringSE lexicalXSDDouble)
文字列引数を double 値に変換します。
- パラメーター:
lexicalXSDDouble
- xsd:double の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される double 値。
- 例外:
NumberFormatExceptionSE
-lexicalXSDDouble
は、double
値の有効な文字列表現ではありません。
parseBoolean
public static boolean parseBoolean(StringSE lexicalXSDBoolean)
文字列引数をブール値に変換します。
- パラメーター:
lexicalXSDBoolean
- xsd:boolean の字句表現を含む文字列。- 戻り値:
- 文字列引数で表されるブール値。
- 例外:
IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義されている字句値スペースに準拠していない場合: xsd:boolean のデータ型。
parseByte
public static byte parseByte(StringSE lexicalXSDByte)
文字列引数をバイト値に変換します。
- パラメーター:
lexicalXSDByte
- xsd:byte の字句表現を含む文字列。- 戻り値:
- 文字列引数で表されるバイト値。
- 例外:
IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義されている字句値スペースに準拠していない場合: xsd:byte のデータ型。
parseQName
public static QNameSE parseQName(StringSE lexicalXSDQName, NamespaceContextSE nsc)
文字列引数をバイト値に変換します。
文字列パラメーター
lexicalXSDQname
は、XML スキーマパート 2: データ型の仕様: QNames で指定された字句値スペースに準拠している必要があります- パラメーター:
lexicalXSDQName
- xsd:QName の字句表現を含む文字列。nsc
- QName 内のプレフィックスを解釈するための名前空間コンテキスト。- 戻り値:
- 文字列引数で表される QName 値。
- 例外:
IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 仕様に準拠していない場合、またはlexicalXSDQname
の名前空間プレフィックスが NamespaceContextnsc
の URI にバインドされていない場合。
parseDateTime
public static CalendarSE parseDateTime(StringSE lexicalXSDDateTime)
文字列引数をカレンダー値に変換します。
- パラメーター:
lexicalXSDDateTime
- xsd:datetime の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される Calendar オブジェクト。
- 例外:
IllegalArgumentExceptionSE
- 文字列パラメーターが、XML スキーマパート 2: xsd:dateTime のデータ型で定義されている字句値空間に準拠していない場合。
parseBase64Binary
public static byte[] parseBase64Binary(StringSE lexicalXSDBase64Binary)
文字列引数をバイトの配列に変換します。
- パラメーター:
lexicalXSDBase64Binary
- xsd:base64Binary の字句表現を含む文字列。- 戻り値:
- 文字列引数で表されるバイトの配列。
- 例外:
IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義された字句値スペースに準拠していない場合: xsd:base64Binary のデータ型
parseHexBinary
public static byte[] parseHexBinary(StringSE lexicalXSDHexBinary)
文字列引数をバイトの配列に変換します。
- パラメーター:
lexicalXSDHexBinary
- xsd:hexBinary の字句表現を含む文字列。- 戻り値:
- 文字列引数で表されるバイトの配列。
- 例外:
IllegalArgumentExceptionSE
- 文字列パラメーターが、XML スキーマパート 2: xsd:hexBinary のデータ型で定義されている字句値空間に準拠していない場合。
parseUnsignedInt
public static long parseUnsignedInt(StringSE lexicalXSDUnsignedInt)
文字列引数を long 値に変換します。
- パラメーター:
lexicalXSDUnsignedInt
- xsd:unsignedInt の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される長い値。
- 例外:
NumberFormatExceptionSE
- 文字列パラメーターを解析してlong
値にできない場合。
parseUnsignedShort
public static int parseUnsignedShort(StringSE lexicalXSDUnsignedShort)
文字列引数を int 値に変換します。
- パラメーター:
lexicalXSDUnsignedShort
- xsd:unsignedShort の字句表現を含む文字列。- 戻り値:
- 文字列引数で表される int 値。
- 例外:
NumberFormatExceptionSE
- 文字列パラメーターを解析してint
値にできない場合。
parseTime
public static CalendarSE parseTime(StringSE lexicalXSDTime)
文字列引数をカレンダー値に変換します。
- パラメーター:
lexicalXSDTime
- xsd:time の字句表現を含む文字列。- 戻り値:
- 文字列引数で表されるカレンダ値。
- 例外:
IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義されている字句値スペースに準拠していない場合: xsd:Time のデータ型。
parseDate
public static CalendarSE parseDate(StringSE lexicalXSDDate)
文字列引数をカレンダー値に変換します。
- パラメーター:
lexicalXSDDate
- xsd:Date の字句表現を含む文字列。- 戻り値:
- 文字列引数で表されるカレンダ値。
- 例外:
IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2:xsd:Date のデータ型で定義されている字句値スペースに準拠していない場合。
parseAnySimpleType
public static StringSE parseAnySimpleType(StringSE lexicalXSDAnySimpleType)
単純型の字句表現を含む文字列を返します。
- パラメーター:
lexicalXSDAnySimpleType
- 単純型の字句表現を含む文字列。- 戻り値:
- 単純型の字句表現を含む文字列。
printString
public static StringSE printString(StringSE val)
文字列引数を文字列に変換します。
- パラメーター:
val
- 文字列値。- 戻り値:
- xsd:string の字句表現を含む文字列。
printInteger
public static StringSE printInteger(BigIntegerSE val)
BigInteger 値を文字列に変換します。
- パラメーター:
val
- BigInteger 値- 戻り値:
- xsd:integer の字句表現を含む文字列
- 例外:
IllegalArgumentExceptionSE
-val
が null です。
printInt
public static StringSE printInt(int val)
int 値を文字列に変換します。
- パラメーター:
val
- int 値- 戻り値:
- xsd:int の字句表現を含む文字列
printLong
public static StringSE printLong(long val)
長い値を文字列に変換します。
- パラメーター:
val
- 長い値- 戻り値:
- xsd:long の字句表現を含む文字列
printShort
public static StringSE printShort(short val)
短い値を文字列に変換します。
- パラメーター:
val
- 短い値- 戻り値:
- xsd:short の字句表現を含む文字列
printDecimal
public static StringSE printDecimal(BigDecimalSE val)
BigDecimal 値を文字列に変換します。
- パラメーター:
val
- BigDecimal 値- 戻り値:
- xsd:decimal の字句表現を含む文字列
- 例外:
IllegalArgumentExceptionSE
-val
が null です。
printFloat
public static StringSE printFloat(float val)
float 値を文字列に変換します。
- パラメーター:
val
- 浮動小数点値- 戻り値:
- xsd:float の字句表現を含む文字列
printDouble
public static StringSE printDouble(double val)
double 値を文字列に変換します。
- パラメーター:
val
- 二重値- 戻り値:
- xsd:double の字句表現を含む文字列
printBoolean
public static StringSE printBoolean(boolean val)
ブール値を文字列に変換します。
- パラメーター:
val
- ブール値- 戻り値:
- xsd:boolean の字句表現を含む文字列
printByte
public static StringSE printByte(byte val)
バイト値を文字列に変換します。
- パラメーター:
val
- バイト値- 戻り値:
- xsd:byte の字句表現を含む文字列
printQName
public static StringSE printQName(QNameSE val, NamespaceContextSE nsc)
QName インスタンスを文字列に変換します。
- パラメーター:
val
- QName 値nsc
- QName 内のプレフィックスを解釈するための名前空間コンテキスト。- 戻り値:
- QName の字句表現を含む文字列
- 例外:
IllegalArgumentExceptionSE
-val
が null の場合、またはnsc
が null でない場合、nsc.getPrefix(nsprefixFromVal)
が null の場合。
printDateTime
public static StringSE printDateTime(CalendarSE val)
カレンダー値を文字列に変換します。
- パラメーター:
val
- カレンダー値- 戻り値:
- xsd:dateTime の字句表現を含む文字列
- 例外:
IllegalArgumentExceptionSE
-val
が null の場合。
printBase64Binary
public static StringSE printBase64Binary(byte[] val)
バイトの配列を文字列に変換します。
- パラメーター:
val
- バイトの配列- 戻り値:
- xsd:base64Binary の字句表現を含む文字列
- 例外:
IllegalArgumentExceptionSE
-val
が null の場合。
printHexBinary
public static StringSE printHexBinary(byte[] val)
バイトの配列を文字列に変換します。
- パラメーター:
val
- バイトの配列- 戻り値:
- xsd:hexBinary の字句表現を含む文字列
- 例外:
IllegalArgumentExceptionSE
-val
が null の場合。
printUnsignedInt
public static StringSE printUnsignedInt(long val)
long 値を文字列に変換します。
- パラメーター:
val
- 長い値- 戻り値:
- xsd:unsignedInt の字句表現を含む文字列
printUnsignedShort
public static StringSE printUnsignedShort(int val)
int 値を文字列に変換します。
- パラメーター:
val
- int 値- 戻り値:
- xsd:unsignedShort の字句表現を含む文字列
printTime
public static StringSE printTime(CalendarSE val)
カレンダー値を文字列に変換します。
- パラメーター:
val
- カレンダー値- 戻り値:
- xsd:time の字句表現を含む文字列
- 例外:
IllegalArgumentExceptionSE
-val
が null の場合。
printDate
public static StringSE printDate(CalendarSE val)
カレンダー値を文字列に変換します。
- パラメーター:
val
- カレンダー値- 戻り値:
- xsd:date の字句表現を含む文字列
- 例外:
IllegalArgumentExceptionSE
-val
が null の場合。