Spec-Zone.ru › OpenJDK 8

Класс DatatypeConverter

  • java.lang.Object
    • javax.xml.bind.DatatypeConverter

public final class DatatypeConverter
extends Object

Декларация привязки javaType может использоваться для настройки привязки типа данных XML-схемы к типу данных Java. Настройка может включать в себя написание методов parse и print для парсинга и вывода лексических представлений типа данных XML-схемы соответственно. Однако, написание методов parse и print требует знания лексических представлений (спецификация XML Schema Part2: Datatypes) и поэтому может быть сложным.

Этот класс упрощает написание методов parse и print. Он определяет статические методы parse и print, которые предоставляют доступ к реализации методов parse и print поставщика JAXB. Эти методы вызываются пользовательскими методами 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;
}

Существует статический метод parse и print, соответствующий каждому методу parse и print в DatatypeConverterInterface.

Статические методы, определенные в классе, также могут использоваться для указания метода parse или print в декларации привязки javaType.

Поставщикам JAXB требуется вызвать метод setDatatypeConverter в какой-то момент перед первой операцией маршализации или размаршализации (возможно, во время вызова JAXBContext.newInstance). Этот шаг необходим для конфигурации преобразователя, который должен использоваться для выполнения функций print и parse.

Метод print для типа данных XML-схемы может выводить любое лексическое представление, которое является допустимым с точки зрения типа данных XML-схемы. Если при преобразовании возникнет ошибка, то метод должен выбросить исключение IllegalArgumentException или подкласс IllegalArgumentException.

С:
JAXB1.0
См. также:
DatatypeConverterInterface, ParseConversionEvent, PrintConversionEvent

Методы

Модификатор и тип Метод и описание
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.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы

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)

Преобразует строковый аргумент в булево значение.

Параметры:
lexicalXSDBoolean - строка, содержащая лексическое представление xsd: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 не привязан к URI в NamespaceContext nsc.

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 - значение String.
Возвращает:
Строка, содержащая лексическое представление 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.

printAnySimpleType

public static String printAnySimpleType(String val)

Преобразует значение строки в строку.

Параметры:
val - Значение строки
Возвращает:
Строка, содержащая лексическое представление xsd:AnySimpleType

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API