public interface DatatypeConverterInterface
DatatypeConverterInterfaceは、JAXBプロバイダのみによって使用されます。JAXBプロバイダは、このインタフェースを実装したクラスを提供する必要があります。JAXBプロバイダは、最初の整列化または非整列化操作が呼び出される前のある時点で(おそらく、JAXBContext.newInstanceの呼出し中)、DatatypeConverter.setDatatypeConverter
APIを呼び出す必要があります。このステップは、出力および解析機能を実行する上で使用すべきコンバータを設定するために必要になります。このAPIを繰返し呼び出しても効果はありません。最初の呼出しに渡されたDatatypeConverterインスタンスが、それ以降使用されるインスタンスです。
このインタフェースは、解析メソッドおよび出力メソッドを定義します。JAXB仕様のデフォルト・バインディング・テーブル5-1で指定された各XMLスキーマ・データ型に対し、1つの解析メソッドおよび出力メソッドがあります。
ここに定義する解析メソッドおよび出力メソッドは、DatatypeConverter
クラスに定義されたstatic解析メソッドおよび出力メソッドによって呼び出されます。
XMLスキーマ・データ型用の解析メソッドは、『XML Schema Part2: Datatypes』に指定されているXMLスキーマ・データ型の字句表現を、XMLスキーマ・データ型の値領域内の値に変換できる必要があります。変換中にエラーが発生した場合、このメソッドはIllegalArgumentException、または、IllegalArgumentExceptionのサブクラスをスローする必要があります。
XMLスキーマ・データ型の出力メソッドは、XMLスキーマ・データ型として有効な字句表現を出力可能です。変換中にエラーが発生した場合、このメソッドはIllegalArgumentException、または、IllegalArgumentExceptionのサブクラスをスローする必要があります。
接頭辞xsd: は、『XML Schema Part2: Datatypes』仕様に定義されているXMLスキーマ・データ型を参照するために使用されます。DatatypeConverter
, ParseConversionEvent
, PrintConversionEvent
修飾子と型 | メソッドと説明 |
---|---|
String |
parseAnySimpleType(String lexicalXSDAnySimpleType)
単純型の字句表現を含む文字列を返します。
|
byte[] |
parseBase64Binary(String lexicalXSDBase64Binary)
文字列引数をバイト配列に変換します。
|
boolean |
parseBoolean(String lexicalXSDBoolean)
文字列引数をboolean値に変換します。
|
byte |
parseByte(String lexicalXSDByte)
文字列引数をbyte値に変換します。
|
Calendar |
parseDate(String lexicalXSDDate)
文字列引数をCalendar値に変換します。
|
Calendar |
parseDateTime(String lexicalXSDDateTime)
文字列引数をCalendar値に変換します。
|
BigDecimal |
parseDecimal(String lexicalXSDDecimal)
文字列引数をBigDecimal値に変換します。
|
double |
parseDouble(String lexicalXSDDouble)
文字列引数をdouble値に変換します。
|
float |
parseFloat(String lexicalXSDFloat)
文字列引数をfloat値に変換します。
|
byte[] |
parseHexBinary(String lexicalXSDHexBinary)
文字列引数をバイト配列に変換します。
|
int |
parseInt(String lexicalXSDInt)
文字列引数をint値に変換します。
|
BigInteger |
parseInteger(String lexicalXSDInteger)
文字列引数をBigInteger値に変換します。
|
long |
parseLong(String lexicalXSDLong)
文字列引数をlong値に変換します。
|
QName |
parseQName(String lexicalXSDQName, NamespaceContext nsc)
文字列引数をQName値に変換します。
|
short |
parseShort(String lexicalXSDShort)
文字列引数をshort値に変換します。
|
String |
parseString(String lexicalXSDString)
文字列引数を文字列に変換します。
|
Calendar |
parseTime(String lexicalXSDTime)
文字列引数をCalendar値に変換します。
|
long |
parseUnsignedInt(String lexicalXSDUnsignedInt)
文字列引数をlong値に変換します。
|
int |
parseUnsignedShort(String lexicalXSDUnsignedShort)
文字列引数をint値に変換します。
|
String |
printAnySimpleType(String val)
文字列値を文字列に変換します。
|
String |
printBase64Binary(byte[] val)
バイト配列を文字列に変換します。
|
String |
printBoolean(boolean val)
boolean値を文字列に変換します。
|
String |
printByte(byte val)
byte値を文字列に変換します。
|
String |
printDate(Calendar val)
Calendar値を文字列に変換します。
|
String |
printDateTime(Calendar val)
Calendar値を文字列に変換します。
|
String |
printDecimal(BigDecimal val)
BigDecimal値を文字列に変換します。
|
String |
printDouble(double val)
double値を文字列に変換します。
|
String |
printFloat(float val)
float値を文字列に変換します。
|
String |
printHexBinary(byte[] val)
バイト配列を文字列に変換します。
|
String |
printInt(int val)
int値を文字列に変換します。
|
String |
printInteger(BigInteger val)
BigInteger値を文字列に変換します。
|
String |
printLong(long val)
long値を文字列に変換します。
|
String |
printQName(QName val, NamespaceContext nsc)
QNameインスタンスを文字列に変換します。
|
String |
printShort(short val)
short値を文字列に変換します。
|
String |
printString(String val)
文字列引数を文字列に変換します。
|
String |
printTime(Calendar val)
Calendar値を文字列に変換します。
|
String |
printUnsignedInt(long val)
long値を文字列に変換します。
|
String |
printUnsignedShort(int val)
int値を文字列に変換します。
|
String parseString(String lexicalXSDString)
文字列引数を文字列に変換します。
lexicalXSDString
- XML Schemaデータ型xsd:stringの字句表現BigInteger parseInteger(String lexicalXSDInteger)
文字列引数をBigInteger値に変換します。
lexicalXSDInteger
- xsd:integerの字句表現を含む文字列。NumberFormatException
- lexicalXSDInteger
がBigInteger
値の文字列表現として無効である場合。int parseInt(String lexicalXSDInt)
文字列引数をint値に変換します。
lexicalXSDInt
- xsd:intの字句表現を含む文字列。NumberFormatException
- lexicalXSDInt
がint
値の文字列表現として無効である場合。long parseLong(String lexicalXSDLong)
文字列引数をlong値に変換します。
lexicalXSDLong
- xsd:longの字句表現を含む文字列。NumberFormatException
- lexicalXSDLong
がlong
値の文字列表現として無効である場合。short parseShort(String lexicalXSDShort)
文字列引数をshort値に変換します。
lexicalXSDShort
- xsd:shortの字句表現を含む文字列。NumberFormatException
- lexicalXSDShort
がshort
値の文字列表現として無効である場合。BigDecimal parseDecimal(String lexicalXSDDecimal)
文字列引数をBigDecimal値に変換します。
lexicalXSDDecimal
- xsd:decimalの字句表現を含む文字列。NumberFormatException
- lexicalXSDDecimal
がBigDecimal
の文字列表現として無効である場合。float parseFloat(String lexicalXSDFloat)
文字列引数をfloat値に変換します。
lexicalXSDFloat
- xsd:floatの字句表現を含む文字列。NumberFormatException
- lexicalXSDFloat
がfloat
値の文字列表現として無効である場合。double parseDouble(String lexicalXSDDouble)
文字列引数をdouble値に変換します。
lexicalXSDDouble
- xsd:doubleの字句表現を含む文字列。NumberFormatException
- lexicalXSDDouble
がdouble
値の文字列表現として無効である場合。boolean parseBoolean(String lexicalXSDBoolean)
文字列引数をboolean値に変換します。
lexicalXSDBoolean
- xsd:booleanの字句表現を含む文字列。IllegalArgumentException
- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:booleanに関する仕様で定義された字句値領域に準拠していない場合。byte parseByte(String lexicalXSDByte)
文字列引数をbyte値に変換します。
lexicalXSDByte
- xsd:byteの字句表現を含む文字列。NumberFormatException
- lexicalXSDByte
が解析可能なbyteを含まない場合。IllegalArgumentException
- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:byteに関する仕様で定義された字句値領域に準拠していない場合。QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
文字列引数をQName値に変換します。
文字列パラメータlexicalXSDQnameは、XML Schema Part 2:Datatypes仕様のQNames で指定されている字句値領域に準拠している必要があります。
lexicalXSDQName
- xsd:QNameの字句表現を含む文字列。nsc
- QName内の接頭辞を解釈するための名前空間コンテキスト。IllegalArgumentException
- 文字列パラメータがXML Schema Part 2仕様に準拠していない場合、またはlexicalXSDQnameの名前空間接頭辞がNamespaceContext nsc内のURIにバインドされていない場合。Calendar parseDateTime(String lexicalXSDDateTime)
文字列引数をCalendar値に変換します。
lexicalXSDDateTime
- xsd:datetimeの字句表現を含む文字列。IllegalArgumentException
- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:dateTimeに関する仕様で定義された字句値領域に準拠していない場合。byte[] parseBase64Binary(String lexicalXSDBase64Binary)
文字列引数をバイト配列に変換します。
lexicalXSDBase64Binary
- xsd:base64Binaryの字句表現を含む文字列。IllegalArgumentException
- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:base64Binaryに関する仕様で定義された字句値領域に準拠していない場合byte[] parseHexBinary(String lexicalXSDHexBinary)
文字列引数をバイト配列に変換します。
lexicalXSDHexBinary
- xsd:hexBinaryの字句表現を含む文字列。IllegalArgumentException
- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:hexBinaryに関する仕様で定義された字句値領域に準拠していない場合。long parseUnsignedInt(String lexicalXSDUnsignedInt)
文字列引数をlong値に変換します。
lexicalXSDUnsignedInt
- xsd:unsignedIntの字句表現を含む文字列。NumberFormatException
- 文字列パラメータをlong値に構文解析できない場合。int parseUnsignedShort(String lexicalXSDUnsignedShort)
文字列引数をint値に変換します。
lexicalXSDUnsignedShort
- xsd:unsignedShortの字句表現を含む文字列。NumberFormatException
- 文字列パラメータをint値に構文解析できない場合。Calendar parseTime(String lexicalXSDTime)
文字列引数をCalendar値に変換します。
lexicalXSDTime
- xsd:timeの字句表現を含む文字列。IllegalArgumentException
- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:timeに関する仕様で定義された字句値領域に準拠していない場合。Calendar parseDate(String lexicalXSDDate)
文字列引数をCalendar値に変換します。
lexicalXSDDate
- xsd:Dateの字句表現を含む文字列。IllegalArgumentException
- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:Dateに関する仕様で定義された字句値領域に準拠していない場合。String parseAnySimpleType(String lexicalXSDAnySimpleType)
単純型の字句表現を含む文字列を返します。
lexicalXSDAnySimpleType
- 単純型の字句表現を含む文字列。String printString(String val)
文字列引数を文字列に変換します。
val
- 文字列値。String printInteger(BigInteger val)
BigInteger値を文字列に変換します。
val
- BigInteger値IllegalArgumentException
- valがnullの場合。String printInt(int val)
int値を文字列に変換します。
val
- int値String printLong(long val)
long値を文字列に変換します。
val
- long値String printShort(short val)
short値を文字列に変換します。
val
- short値String printDecimal(BigDecimal val)
BigDecimal値を文字列に変換します。
val
- BigDecimal値IllegalArgumentException
- valがnullの場合。String printFloat(float val)
float値を文字列に変換します。
val
- float値String printDouble(double val)
double値を文字列に変換します。
val
- double値String printBoolean(boolean val)
boolean値を文字列に変換します。
val
- boolean値String printByte(byte val)
byte値を文字列に変換します。
val
- byte値String printQName(QName val, NamespaceContext nsc)
QNameインスタンスを文字列に変換します。
val
- QName値nsc
- QName内の接頭辞を解釈するための名前空間コンテキスト。IllegalArgumentException
- valがnull、nscがnull以外、またはnsc.getPrefix(nsprefixFromVal)がnullの場合。String printDateTime(Calendar val)
Calendar値を文字列に変換します。
val
- Calendar値IllegalArgumentException
- valがnullの場合。String printBase64Binary(byte[] val)
バイト配列を文字列に変換します。
val
- バイト配列IllegalArgumentException
- valがnullの場合。String printHexBinary(byte[] val)
バイト配列を文字列に変換します。
val
- バイト配列IllegalArgumentException
- valがnullの場合。String printUnsignedInt(long val)
long値を文字列に変換します。
val
- long値String printUnsignedShort(int val)
int値を文字列に変換します。
val
- int値String printTime(Calendar val)
Calendar値を文字列に変換します。
val
- Calendar値IllegalArgumentException
- valがnullの場合。String printDate(Calendar val)
Calendar値を文字列に変換します。
val
- Calendar値IllegalArgumentException
- valがnullの場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.