- 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の呼出し中)、
setDatatypeConverter
APIを呼び出す必要があります。 このステップは、出力および解析機能を実行する上で使用すべきコンバータを設定するために必要になります。XMLスキーマ・データ型の出力メソッドは、XMLスキーマ・データ型として有効な字句表現を出力可能です。 変換中にエラーが発生した場合、このメソッドはIllegalArgumentException、または、IllegalArgumentExceptionのサブクラスをスローする必要があります。
- 導入されたバージョン:
- 1.6, JAXB 1.0
- 関連項目:
DatatypeConverterInterface
、ParseConversionEvent
、PrintConversionEvent
-
-
メソッドのサマリー
すべてのメソッド staticメソッド 具象メソッド 修飾子と型 メソッド 説明 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プロバイダのみによって使用されます。
-
-
-
メソッドの詳細
-
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の場合。
-
-