- java.lang.Object
-
- javax.xml.bind.DatatypeConverter
-
public final class DatatypeConverter extends Object
Java型バインディング宣言は、XMLスキーマ・データ型とJavaデータ型のバインディングをカスタマイズするために使用できます。 カスタマイズには、XMLスキーマ・データ型の字句表現を解析したり出力するための、解析メソッドおよび出力メソッドをそれぞれ記述することが含まれます。 ただし、解析メソッドおよび出力メソッドを記述するには、その字句表現を理解する必要があるため(『XML Schema Part2: Datatypes』仕様)、難易度が高いことがあります。
このクラスにより、解析メソッドおよび出力メソッドの作成が容易になります。 このクラスは、JAXBプロバイダの解析メソッドおよび出力メソッド実装へのアクセスを提供する、staticの解析メソッドおよび出力メソッドを定義します。 これらのメソッドは、カスタムの解析メソッドおよび出力メソッドによって呼び出されます。 たとえば、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の解析メソッドおよび出力メソッドのそれぞれに対応する、static解析メソッドおよび出力メソッドがあります。また、このクラスで定義されたstaticメソッドは、JavaTypeバインディング宣言内で解析メソッドおよび出力メソッドを指定するために使用できます。
JAXBプロバイダは、最初の整列化または非整列化操作が呼び出される前のある時点で(おそらく、JAXBContext.newInstanceの呼出し中)、
setDatatypeConverterAPIを呼び出す必要があります。 このステップは、出力および解析機能を実行する上で使用すべきコンバータを設定するために必要になります。XMLスキーマ・データ型の出力メソッドは、XMLスキーマ・データ型として有効な字句表現を出力可能です。 変換中にエラーが発生した場合、このメソッドはIllegalArgumentException、または、IllegalArgumentExceptionのサブクラスをスローする必要があります。
- 導入されたバージョン:
- 1.6, JAXB 1.0
- 関連項目:
DatatypeConverterInterface、ParseConversionEvent、PrintConversionEvent
-
-
メソッドのサマリー
すべてのメソッド staticメソッド 具象メソッド 修飾子と型 メソッド 説明 static StringparseAnySimpleType(String lexicalXSDAnySimpleType)単純型の字句表現を含む文字列を返します。static byte[]parseBase64Binary(String lexicalXSDBase64Binary)文字列引数をバイト配列に変換します。static booleanparseBoolean(String lexicalXSDBoolean)文字列引数をboolean値に変換します。static byteparseByte(String lexicalXSDByte)文字列引数をbyte値に変換します。static CalendarparseDate(String lexicalXSDDate)文字列引数をCalendar値に変換します。static CalendarparseDateTime(String lexicalXSDDateTime)文字列引数をCalendar値に変換します。static BigDecimalparseDecimal(String lexicalXSDDecimal)文字列引数をBigDecimal値に変換します。static doubleparseDouble(String lexicalXSDDouble)文字列引数をdouble値に変換します。static floatparseFloat(String lexicalXSDFloat)文字列引数をfloat値に変換します。static byte[]parseHexBinary(String lexicalXSDHexBinary)文字列引数をバイト配列に変換します。static intparseInt(String lexicalXSDInt)文字列引数をint値に変換します。static BigIntegerparseInteger(String lexicalXSDInteger)文字列引数をBigInteger値に変換します。static longparseLong(String lexicalXSDLong)文字列引数をlong値に変換します。static QNameparseQName(String lexicalXSDQName, NamespaceContext nsc)文字列引数をbyte値に変換します。static shortparseShort(String lexicalXSDShort)文字列引数をshort値に変換します。static StringparseString(String lexicalXSDString)字句XSD文字列引数をString値に変換します。static CalendarparseTime(String lexicalXSDTime)文字列引数をCalendar値に変換します。static longparseUnsignedInt(String lexicalXSDUnsignedInt)文字列引数をlong値に変換します。static intparseUnsignedShort(String lexicalXSDUnsignedShort)文字列引数をint値に変換します。static StringprintAnySimpleType(String val)文字列値を文字列に変換します。static StringprintBase64Binary(byte[] val)バイト配列を文字列に変換します。static StringprintBoolean(boolean val)boolean値を文字列に変換します。static StringprintByte(byte val)byte値を文字列に変換します。static StringprintDate(Calendar val)Calendar値を文字列に変換します。static StringprintDateTime(Calendar val)Calendar値を文字列に変換します。static StringprintDecimal(BigDecimal val)BigDecimal値を文字列に変換します。static StringprintDouble(double val)double値を文字列に変換します。static StringprintFloat(float val)float値を文字列に変換します。static StringprintHexBinary(byte[] val)バイト配列を文字列に変換します。static StringprintInt(int val)int値を文字列に変換します。static StringprintInteger(BigInteger val)BigInteger値を文字列に変換します。static StringprintLong(long val)long値を文字列に変換します。static StringprintQName(QName val, NamespaceContext nsc)QNameインスタンスを文字列に変換します。static StringprintShort(short val)short値を文字列に変換します。static StringprintString(String val)文字列引数を文字列に変換します。static StringprintTime(Calendar val)Calendar値を文字列に変換します。static StringprintUnsignedInt(long val)long値を文字列に変換します。static StringprintUnsignedShort(int val)int値を文字列に変換します。static voidsetDatatypeConverter(DatatypeConverterInterface converter)このメソッドは、JAXBプロバイダのみによって使用されます。
-
-
-
メソッドの詳細
-
setDatatypeConverter
public static void setDatatypeConverter(DatatypeConverterInterface converter)
このメソッドは、JAXBプロバイダのみによって使用されます。JAXBプロバイダは、JAXBクライアントの整列化または非整列化操作の実行が許可される前のある時点で、このメソッドを呼び出す必要があります。 これは、出力および解析変換を実行する上で使用すべきデータ型コンバータを設定するために必要になります。
このAPIを繰返し呼び出しても効果はありません。最初の呼出しに渡されたDatatypeConverterInterfaceインスタンスが、それ以降使用されるインスタンスです。
- パラメータ:
converter- DatatypeConverterInterfaceクラスを実装するクラスのインスタンス。このパラメータはnullであってはならない。- 例外:
IllegalArgumentException- パラメータがnullの場合SecurityException- 対応するSecurityManagerによって、データ型コンバータを設定するためのアクセスが拒否された場合。- 関連項目:
JAXBPermission
-
parseString
public static String parseString(String lexicalXSDString)
字句XSD文字列引数をString値に変換します。
- パラメータ:
lexicalXSDString- xsd:stringの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すString値。
-
parseInteger
public static BigInteger parseInteger(String lexicalXSDInteger)
文字列引数をBigInteger値に変換します。
- パラメータ:
lexicalXSDInteger- xsd:integerの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すBigInteger値。
- 例外:
NumberFormatException-lexicalXSDIntegerがBigInteger値の文字列表現として無効である場合。
-
parseInt
public static int parseInt(String lexicalXSDInt)
文字列引数をint値に変換します。
- パラメータ:
lexicalXSDInt- xsd:intの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すint値。
- 例外:
NumberFormatException-lexicalXSDIntがint値の文字列表現として無効である場合。
-
parseLong
public static long parseLong(String lexicalXSDLong)
文字列引数をlong値に変換します。
- パラメータ:
lexicalXSDLong- xsd:longの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すlong値。
- 例外:
NumberFormatException-lexicalXSDLongがlong値の文字列表現として無効である場合。
-
parseShort
public static short parseShort(String lexicalXSDShort)
文字列引数をshort値に変換します。
- パラメータ:
lexicalXSDShort- xsd:shortの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すshort値。
- 例外:
NumberFormatException-lexicalXSDShortがshort値の文字列表現として無効である場合。
-
parseDecimal
public static BigDecimal parseDecimal(String lexicalXSDDecimal)
文字列引数をBigDecimal値に変換します。
- パラメータ:
lexicalXSDDecimal- xsd:decimalの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すBigDecimal値。
- 例外:
NumberFormatException-lexicalXSDDecimalがBigDecimalの文字列表現として無効である場合。
-
parseFloat
public static float parseFloat(String lexicalXSDFloat)
文字列引数をfloat値に変換します。
- パラメータ:
lexicalXSDFloat- xsd:floatの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すfloat値。
- 例外:
NumberFormatException-lexicalXSDFloatがfloat値の文字列表現として無効である場合。
-
parseDouble
public static double parseDouble(String lexicalXSDDouble)
文字列引数をdouble値に変換します。
- パラメータ:
lexicalXSDDouble- xsd:doubleの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すdouble値。
- 例外:
NumberFormatException-lexicalXSDDoubleがdouble値の文字列表現として無効である場合。
-
parseBoolean
public static boolean parseBoolean(String lexicalXSDBoolean)
文字列引数をboolean値に変換します。
- パラメータ:
lexicalXSDBoolean- xsd:booleanの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すboolean値。
- 例外:
IllegalArgumentException- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:booleanに関する仕様で定義された字句値領域に準拠していない場合。
-
parseByte
public static byte parseByte(String lexicalXSDByte)
文字列引数をbyte値に変換します。
- パラメータ:
lexicalXSDByte- xsd:byteの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すbyte値。
- 例外:
IllegalArgumentException- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:byteに関する仕様で定義された字句値領域に準拠していない場合。
-
parseQName
public static QName parseQName(String lexicalXSDQName, NamespaceContext nsc)
文字列引数をbyte値に変換します。
文字列パラメータ
lexicalXSDQnameは、XML Schema Part 2:Datatypes仕様のQNames で指定されている字句値領域に準拠している必要があります。- パラメータ:
lexicalXSDQName- xsd:QNameの字句表現を含む文字列。nsc- QName内の接頭辞を解釈するための名前空間コンテキスト。- 戻り値:
- 文字列引数が表すQName値。
- 例外:
IllegalArgumentException- 文字列パラメータがXML Schema Part 2仕様に準拠していない場合、またはlexicalXSDQnameの名前空間接頭辞がNamespaceContextnsc内のURIにバインドされていない場合。
-
parseDateTime
public static Calendar parseDateTime(String lexicalXSDDateTime)
文字列引数をCalendar値に変換します。
- パラメータ:
lexicalXSDDateTime- xsd:datetimeの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すCalendarオブジェクト。
- 例外:
IllegalArgumentException- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:dateTimeに関する仕様で定義された字句値領域に準拠していない場合。
-
parseBase64Binary
public static byte[] parseBase64Binary(String lexicalXSDBase64Binary)
文字列引数をバイト配列に変換します。
- パラメータ:
lexicalXSDBase64Binary- xsd:base64Binaryの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すバイト配列。
- 例外:
IllegalArgumentException- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:base64Binaryに関する仕様で定義された字句値領域に準拠していない場合
-
parseHexBinary
public static byte[] parseHexBinary(String lexicalXSDHexBinary)
文字列引数をバイト配列に変換します。
- パラメータ:
lexicalXSDHexBinary- xsd:hexBinaryの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すバイト配列。
- 例外:
IllegalArgumentException- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:hexBinaryに関する仕様で定義された字句値領域に準拠していない場合。
-
parseUnsignedInt
public static long parseUnsignedInt(String lexicalXSDUnsignedInt)
文字列引数をlong値に変換します。
- パラメータ:
lexicalXSDUnsignedInt- xsd:unsignedIntの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すlong値。
- 例外:
NumberFormatException- 文字列パラメータをlong値に構文解析できない場合。
-
parseUnsignedShort
public static int parseUnsignedShort(String lexicalXSDUnsignedShort)
文字列引数をint値に変換します。
- パラメータ:
lexicalXSDUnsignedShort- xsd:unsignedShortの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すint値。
- 例外:
NumberFormatException- 文字列パラメータをint値に構文解析できない場合。
-
parseTime
public static Calendar parseTime(String lexicalXSDTime)
文字列引数をCalendar値に変換します。
- パラメータ:
lexicalXSDTime- xsd:timeの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すCalendar値。
- 例外:
IllegalArgumentException- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:timeに関する仕様で定義された字句値領域に準拠していない場合。
-
parseDate
public static Calendar parseDate(String lexicalXSDDate)
文字列引数をCalendar値に変換します。
- パラメータ:
lexicalXSDDate- xsd:Dateの字句表現を含む文字列。- 戻り値:
- 文字列引数が表すCalendar値。
- 例外:
IllegalArgumentException- 文字列パラメータがXML Schema Part 2: Datatypesのxsd:Dateに関する仕様で定義された字句値領域に準拠していない場合。
-
parseAnySimpleType
public static String parseAnySimpleType(String lexicalXSDAnySimpleType)
単純型の字句表現を含む文字列を返します。
- パラメータ:
lexicalXSDAnySimpleType- 単純型の字句表現を含む文字列。- 戻り値:
- 単純型の字句表現を含む文字列。
-
printString
public static String printString(String val)
文字列引数を文字列に変換します。
- パラメータ:
val- 文字列値。- 戻り値:
- xsd:stringの字句表現を含む文字列。
-
printInteger
public static String printInteger(BigInteger val)
BigInteger値を文字列に変換します。
- パラメータ:
val- BigInteger値- 戻り値:
- xsd:integerの字句表現を含む文字列
- 例外:
IllegalArgumentException-valがnullの場合。
-
printInt
public static String printInt(int val)
int値を文字列に変換します。
- パラメータ:
val- int値- 戻り値:
- xsd:intの字句表現を含む文字列
-
printLong
public static String printLong(long val)
long値を文字列に変換します。
- パラメータ:
val- long値- 戻り値:
- xsd:longの字句表現を含む文字列
-
printShort
public static String printShort(short val)
short値を文字列に変換します。
- パラメータ:
val- short値- 戻り値:
- xsd:shortの字句表現を含む文字列
-
printDecimal
public static String printDecimal(BigDecimal val)
BigDecimal値を文字列に変換します。
- パラメータ:
val- BigDecimal値- 戻り値:
- xsd:decimalの字句表現を含む文字列
- 例外:
IllegalArgumentException-valがnullの場合。
-
printFloat
public static String printFloat(float val)
float値を文字列に変換します。
- パラメータ:
val- float値- 戻り値:
- xsd:floatの字句表現を含む文字列
-
printDouble
public static String printDouble(double val)
double値を文字列に変換します。
- パラメータ:
val- double値- 戻り値:
- xsd:doubleの字句表現を含む文字列
-
printBoolean
public static String printBoolean(boolean val)
boolean値を文字列に変換します。
- パラメータ:
val- boolean値- 戻り値:
- xsd:booleanの字句表現を含む文字列
-
printByte
public static String printByte(byte val)
byte値を文字列に変換します。
- パラメータ:
val- byte値- 戻り値:
- xsd:byteの字句表現を含む文字列
-
printQName
public static String printQName(QName val, NamespaceContext nsc)
QNameインスタンスを文字列に変換します。
- パラメータ:
val- QName値nsc- QName内の接頭辞を解釈するための名前空間コンテキスト。- 戻り値:
- QNameの字句表現を含む文字列
- 例外:
IllegalArgumentException-valがnull、nscがnull以外、またはnsc.getPrefix(nsprefixFromVal)がnullの場合。
-
printDateTime
public static String printDateTime(Calendar val)
Calendar値を文字列に変換します。
- パラメータ:
val- Calendar値- 戻り値:
- xsd:dateTimeの字句表現を含む文字列
- 例外:
IllegalArgumentException-valがnullの場合。
-
printBase64Binary
public static String printBase64Binary(byte[] val)
バイト配列を文字列に変換します。
- パラメータ:
val- バイト配列- 戻り値:
- xsd:base64Binaryの字句表現を含む文字列
- 例外:
IllegalArgumentException-valがnullの場合。
-
printHexBinary
public static String printHexBinary(byte[] val)
バイト配列を文字列に変換します。
- パラメータ:
val- バイト配列- 戻り値:
- xsd:hexBinaryの字句表現を含む文字列
- 例外:
IllegalArgumentException-valがnullの場合。
-
printUnsignedInt
public static String printUnsignedInt(long val)
long値を文字列に変換します。
- パラメータ:
val- long値- 戻り値:
- xsd:unsignedIntの字句表現を含む文字列
-
printUnsignedShort
public static String printUnsignedShort(int val)
int値を文字列に変換します。
- パラメータ:
val- int値- 戻り値:
- xsd:unsignedShortの字句表現を含む文字列
-
printTime
public static String printTime(Calendar val)
Calendar値を文字列に変換します。
- パラメータ:
val- Calendar値- 戻り値:
- xsd:timeの字句表現を含む文字列
- 例外:
IllegalArgumentException-valがnullの場合。
-
printDate
public static String printDate(Calendar val)
Calendar値を文字列に変換します。
- パラメータ:
val- Calendar値- 戻り値:
- xsd:dateの字句表現を含む文字列
- 例外:
IllegalArgumentException-valがnullの場合。
-
-