public final class DatatypeConverter extends ObjectSE
javaType バインディング宣言を使用して、XML スキーマデータ型の Java データ型へのバインディングをカスタマイズできます。カスタマイズには、XML スキーマデータ型の字句表現をそれぞれ解析および出力するための解析および出力メソッドの記述が含まれる場合があります。ただし、解析メソッドと出力メソッドを作成するには、字句表現(XML スキーマ Part2: データ型の仕様)の知識が必要であるため、作成が難しい場合があります。
このクラスを使用すると、解析メソッドと出力メソッドを簡単に作成できます。これは、Jakarta XML Binding プロバイダーの解析および出力メソッドの実装へのアクセスを提供する静的な解析および出力メソッドを定義します。これらのメソッドは、カスタムの parse メソッドと print メソッドによって呼び出されます。例: xsd:dateTime の long へのバインドは、次のように parse メソッドと print メソッドを使用してカスタマイズできます。
// 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 バインディング宣言で parse メソッドまたは print メソッドを指定することもできます。
Jakarta XML Binding Providers は、最初のマーシャルまたはアンマーシャル操作の前のある時点で(おそらく、JAXBContext.newInstance の呼び出し中に)setDatatypeConverter
API を呼び出す必要があります。この手順は、出力および解析機能を実行するために使用する必要があるコンバーターを構成するために必要です。
XML スキーマデータ型の print メソッドは、XML スキーマデータ型に関して有効な任意の字句表現を出力できます。変換中にエラーが発生した場合は、IllegalArgumentException または IllegalArgumentException のサブクラスをメソッドでスローする必要があります。
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 プロバイダー専用です。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static void setDatatypeConverter(DatatypeConverterInterface converter)
Jakarta XML Binding Providers は、Jakarta XML Binding クライアントのマーシャルまたはアンマーシャル操作の実行を許可する前に、ある時点でこのメソッドを呼び出す必要があります。これは、出力および解析変換を実行するために使用する必要があるデータ型コンバーターを構成するために必要です。
この API を繰り返し呼び出しても効果はありません。最初の呼び出しに渡された DatatypeConverterInterface インスタンスは、それ以降に使用されるインスタンスです。
converter
- DatatypeConverterInterface クラスを実装するクラスのインスタンス - このパラメーターは null であってはなりません。IllegalArgumentExceptionSE
- パラメーターが null の場合 SecurityExceptionSE
- 担当の SecurityManager
SE がデータ型コンバーターを設定するためのアクセスを拒否した場合。JAXBPermission
public static StringSE parseString(StringSE lexicalXSDString)
字句 XSD 文字列引数を文字列値に変換します。
lexicalXSDString
- xsd:string の字句表現を含む文字列。public static BigIntegerSE parseInteger(StringSE lexicalXSDInteger)
文字列引数を BigInteger 値に変換します。
lexicalXSDInteger
- xsd:integer の字句表現を含む文字列。NumberFormatExceptionSE
- lexicalXSDInteger
は、BigInteger
SE 値の有効な文字列表現ではありません。public static int parseInt(StringSE lexicalXSDInt)
文字列引数を int 値に変換します。
lexicalXSDInt
- xsd:int の字句表現を含む文字列。NumberFormatExceptionSE
- lexicalXSDInt
は、int
値の有効な文字列表現ではありません。public static long parseLong(StringSE lexicalXSDLong)
文字列引数を long 値に変換します。
lexicalXSDLong
- xsd:long の字句表現を含む文字列。NumberFormatExceptionSE
- lexicalXSDLong
は、long
値の有効な文字列表現ではありません。public static short parseShort(StringSE lexicalXSDShort)
文字列引数を短い値に変換します。
lexicalXSDShort
- xsd:short の字句表現を含む文字列。NumberFormatExceptionSE
- lexicalXSDShort
は、short
値の有効な文字列表現ではありません。public static BigDecimalSE parseDecimal(StringSE lexicalXSDDecimal)
文字列引数を BigDecimal 値に変換します。
lexicalXSDDecimal
- xsd:decimal の字句表現を含む文字列。NumberFormatExceptionSE
- lexicalXSDDecimal
は、BigDecimal
SE の有効な文字列表現ではありません。public static float parseFloat(StringSE lexicalXSDFloat)
文字列引数を float 値に変換します。
lexicalXSDFloat
- xsd:float の字句表現を含む文字列。NumberFormatExceptionSE
- lexicalXSDFloat
は、float
値の有効な文字列表現ではありません。public static double parseDouble(StringSE lexicalXSDDouble)
文字列引数を double 値に変換します。
lexicalXSDDouble
- xsd:double の字句表現を含む文字列。NumberFormatExceptionSE
- lexicalXSDDouble
は、double
値の有効な文字列表現ではありません。public static boolean parseBoolean(StringSE lexicalXSDBoolean)
文字列引数をブール値に変換します。
lexicalXSDBoolean
- xsd:boolean の字句表現を含む文字列。IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義されている字句値スペースに準拠していない場合: xsd:boolean のデータ型。public static byte parseByte(StringSE lexicalXSDByte)
文字列引数をバイト値に変換します。
lexicalXSDByte
- xsd:byte の字句表現を含む文字列。IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義されている字句値スペースに準拠していない場合: xsd:byte のデータ型。public static QNameSE parseQName(StringSE lexicalXSDQName, NamespaceContextSE nsc)
文字列引数をバイト値に変換します。
文字列パラメーター lexicalXSDQname
は、XML スキーマパート 2: データ型の仕様: QNames で指定された字句値スペースに準拠している必要があります
lexicalXSDQName
- xsd:QName の字句表現を含む文字列。nsc
- QName 内のプレフィックスを解釈するための名前空間コンテキスト。IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 仕様に準拠していない場合、または lexicalXSDQname
の名前空間プレフィックスが NamespaceContext nsc
の URI にバインドされていない場合。public static CalendarSE parseDateTime(StringSE lexicalXSDDateTime)
文字列引数をカレンダー値に変換します。
lexicalXSDDateTime
- xsd:datetime の字句表現を含む文字列。IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義されている字句値スペースに準拠していない場合: xsd:dateTime のデータ型。public static byte[] parseBase64Binary(StringSE lexicalXSDBase64Binary)
文字列引数をバイトの配列に変換します。
lexicalXSDBase64Binary
- xsd:base64Binary の字句表現を含む文字列。IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義された字句値スペースに準拠していない場合: xsd:base64Binary のデータ型 public static byte[] parseHexBinary(StringSE lexicalXSDHexBinary)
文字列引数をバイトの配列に変換します。
lexicalXSDHexBinary
- xsd:hexBinary の字句表現を含む文字列。IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義されている字句値スペースに準拠していない場合: xsd:hexBinary のデータ型。public static long parseUnsignedInt(StringSE lexicalXSDUnsignedInt)
文字列引数を long 値に変換します。
lexicalXSDUnsignedInt
- xsd:unsignedInt の字句表現を含む文字列。NumberFormatExceptionSE
- 文字列パラメーターを解析して long
値にできない場合。public static int parseUnsignedShort(StringSE lexicalXSDUnsignedShort)
文字列引数を int 値に変換します。
lexicalXSDUnsignedShort
- xsd:unsignedShort の字句表現を含む文字列。NumberFormatExceptionSE
- 文字列パラメーターを解析して int
値にできない場合。public static CalendarSE parseTime(StringSE lexicalXSDTime)
文字列引数をカレンダー値に変換します。
lexicalXSDTime
- xsd:time の字句表現を含む文字列。IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2 で定義されている字句値スペースに準拠していない場合: xsd:Time のデータ型。public static CalendarSE parseDate(StringSE lexicalXSDDate)
文字列引数をカレンダー値に変換します。
lexicalXSDDate
- xsd:Date の字句表現を含む文字列。IllegalArgumentExceptionSE
- 文字列パラメーターが XML スキーマパート 2:xsd:Date のデータ型で定義されている字句値スペースに準拠していない場合。public static StringSE parseAnySimpleType(StringSE lexicalXSDAnySimpleType)
単純型の字句表現を含む文字列を返します。
lexicalXSDAnySimpleType
- 単純型の字句表現を含む文字列。public static StringSE printString(StringSE val)
文字列引数を文字列に変換します。
val
- 文字列値。public static StringSE printInteger(BigIntegerSE val)
BigInteger 値を文字列に変換します。
val
- BigInteger 値 IllegalArgumentExceptionSE
- val
が null です。public static StringSE printInt(int val)
int 値を文字列に変換します。
val
- int 値 public static StringSE printLong(long val)
長い値を文字列に変換します。
val
- 長い値 public static StringSE printShort(short val)
短い値を文字列に変換します。
val
- 短い値 public static StringSE printDecimal(BigDecimalSE val)
BigDecimal 値を文字列に変換します。
val
- BigDecimal 値 IllegalArgumentExceptionSE
- val
が null です。public static StringSE printFloat(float val)
float 値を文字列に変換します。
val
- 浮動小数点値 public static StringSE printDouble(double val)
double 値を文字列に変換します。
val
- 二重値 public static StringSE printBoolean(boolean val)
ブール値を文字列に変換します。
val
- ブール値 public static StringSE printByte(byte val)
バイト値を文字列に変換します。
val
- バイト値 public static StringSE printQName(QNameSE val, NamespaceContextSE nsc)
QName インスタンスを文字列に変換します。
val
- QName 値 nsc
- QName 内のプレフィックスを解釈するための名前空間コンテキスト。IllegalArgumentExceptionSE
- val
が null の場合、または nsc
が null でない場合、nsc.getPrefix(nsprefixFromVal)
が null の場合。public static StringSE printDateTime(CalendarSE val)
カレンダー値を文字列に変換します。
val
- カレンダー値 IllegalArgumentExceptionSE
- val
が null の場合。public static StringSE printBase64Binary(byte[] val)
バイトの配列を文字列に変換します。
val
- バイトの配列 IllegalArgumentExceptionSE
- val
が null の場合。public static StringSE printHexBinary(byte[] val)
バイトの配列を文字列に変換します。
val
- バイトの配列 IllegalArgumentExceptionSE
- val
が null の場合。public static StringSE printUnsignedInt(long val)
long 値を文字列に変換します。
val
- 長い値 public static StringSE printUnsignedShort(int val)
int 値を文字列に変換します。
val
- int 値 public static StringSE printTime(CalendarSE val)
カレンダー値を文字列に変換します。
val
- カレンダー値 IllegalArgumentExceptionSE
- val
が null の場合。public static StringSE printDate(CalendarSE val)
カレンダー値を文字列に変換します。
val
- カレンダー値 IllegalArgumentExceptionSE
- val
が null の場合。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.