Класс DatatypeFactory

public abstract class DatatypeFactory
extends Object

Фабрика, создающая новые javax.xml.datatype Objectы, которые отображают XML в/из Java Objectы.

Новый экземпляр DatatypeFactory создается с помощью метода newInstance(), который использует следующие механизмы разрешения реализации для определения реализации:

  1. Если существует системная переменная, определенная в DATATYPEFACTORY_PROPERTY, "javax.xml.datatype.DatatypeFactory", то будет создан экземпляр класса с именем из значения свойства. Любой исключительный случай, возникший во время процесса создания экземпляра, обернется в DatatypeConfigurationException.
  2. Используется конфигурационный файл "jaxp.properties". Файл находится в стандартном формате Properties и обычно расположен в каталоге conf установки Java. Он содержит полное имя класса реализации с ключом, являющимся системной переменной, определенной выше.

    Файл jaxp.properties считывается только один раз реализацией JAXP, а его значения кэшируются для последующего использования. Если файл не существует при первой попытке его чтения, дальнейшие проверки его существования не производятся. Изменить значение любого свойства в jaxp.properties после его первого прочтения невозможно.

  3. Используется механизм загрузки поставщиков услуг, определенный классом ServiceLoader, для поиска и загрузки реализации службы с использованием механизма загрузки по умолчанию: механизм загрузки поставщиков услуг будет использовать класс загрузки контекста текущей нити для попытки загрузки службы. Если класс загрузки контекста равен null, используется класс загрузки системы.

    В случае service configuration error будет выброшено исключение DatatypeConfigurationException.

  4. Последний механизм заключается в попытке создания экземпляра Class, указанного в DATATYPEFACTORY_IMPLEMENTATION_CLASS. Любое исключение, возникшее во время процесса создания экземпляра, обернется в DatatypeConfigurationException.

С момента:
1.5

Поля

Модификатор и тип Поле Описание
static String DATATYPEFACTORY_IMPLEMENTATION_CLASS

Имя класса реализации по умолчанию, определенное в JSR 206: Java(TM) API для обработки XML (JAXP) 1.3.

static String DATATYPEFACTORY_PROPERTY

Имя свойства по умолчанию, определенное в JSR 206: Java(TM) API для обработки XML (JAXP) 1.3.

Конструкторы

Модификатор Конструктор Описание
protected DatatypeFactory()

Защищенный конструктор для предотвращения создания экземпляров вне пакета.

Методы

Модификатор и тип Метод Описание
static DatatypeFactory newDefaultInstance()

Создает новый экземпляр DatatypeFactory встроенной реализации по умолчанию.

Duration newDuration​(boolean isPositive, int years, int months, int days, int hours, int minutes, int seconds)

Получить новый экземпляр Duration, задав Duration как isPositive, years, months, days, hours, minutes, seconds.

abstract Duration newDuration​(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)

Получить новый экземпляр Duration задав Duration как isPositive, years, months, days, hours, minutes, seconds.

abstract Duration newDuration​(long durationInMilliSeconds)

Получить новый экземпляр Duration задав Duration в миллисекундах.

abstract Duration newDuration​(String lexicalRepresentation)

Получить новый экземпляр Duration задав Duration в виде его строкового представления, "PnYnMnDTnHnMnS", как определено в XML Schema 1.0 разделе 3.2.6.1.

Duration newDurationDayTime​(boolean isPositive, int day, int hour, int minute, int second)

Создать Duration типа xdt:dayTimeDuration, используя указанные day, hour, minute и second как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:dayTimeDuration.

Duration newDurationDayTime​(boolean isPositive, BigInteger day, BigInteger hour, BigInteger minute, BigInteger second)

Создать Duration типа xdt:dayTimeDuration, используя указанные day, hour, minute и second как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:dayTimeDuration.

Duration newDurationDayTime​(long durationInMilliseconds)

Создать Duration типа xdt:dayTimeDuration, используя указанные миллисекунды, как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:dayTimeDuration.

Duration newDurationDayTime​(String lexicalRepresentation)

Создать Duration типа xdt:dayTimeDuration, разобрав его строковое представление, "PnDTnHnMnS", XQuery 1.0 и XPath 2.0 Data Model, xdt:dayTimeDuration.

Duration newDurationYearMonth​(boolean isPositive, int year, int month)

Создать Duration типа xdt:yearMonthDuration, используя указанные year и month как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:yearMonthDuration.

Duration newDurationYearMonth​(boolean isPositive, BigInteger year, BigInteger month)

Создать Duration типа xdt:yearMonthDuration, используя указанные year и month как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:yearMonthDuration.

Duration newDurationYearMonth​(long durationInMilliseconds)

Создать Duration типа xdt:yearMonthDuration, используя указанные миллисекунды, как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:yearMonthDuration.

Duration newDurationYearMonth​(String lexicalRepresentation)

Создать Duration типа xdt:yearMonthDuration, разобрав его строковое представление, "PnYnM", XQuery 1.0 и XPath 2.0 Data Model, xdt:yearMonthDuration.

static DatatypeFactory newInstance()

Получить новый экземпляр DatatypeFactory.

static DatatypeFactory newInstance​(String factoryClassName, ClassLoader classLoader)

Получить новый экземпляр DatatypeFactory по имени класса.

abstract XMLGregorianCalendar newXMLGregorianCalendar()

Создать новый экземпляр XMLGregorianCalendar.

XMLGregorianCalendar newXMLGregorianCalendar​(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)

Конструктор пространства значений, которые экземпляр java.util.GregorianCalendar должен преобразовать в экземпляр XMLGregorianCalendar.

abstract XMLGregorianCalendar newXMLGregorianCalendar​(String lexicalRepresentation)

Создать новый XMLGregorianCalendar, разобрав строку как лексическое представление.

abstract XMLGregorianCalendar newXMLGregorianCalendar​(BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone)

Конструктор, позволяющий использовать все пространства значений, разрешенные рекомендацией W3C XML Schema 1.0 для xsd:dateTime и связанных встроенных типов данных.

abstract XMLGregorianCalendar newXMLGregorianCalendar​(GregorianCalendar cal)

Создать XMLGregorianCalendar из GregorianCalendar.

XMLGregorianCalendar newXMLGregorianCalendarDate​(int year, int month, int day, int timezone)

Создать Java-представление встроенного типа данных XML Schema date или g*.

XMLGregorianCalendar newXMLGregorianCalendarTime​(int hours, int minutes, int seconds, int timezone)

Создать Java-экземпляр встроенного типа данных XML Schema time.

XMLGregorianCalendar newXMLGregorianCalendarTime​(int hours, int minutes, int seconds, int milliseconds, int timezone)

Создать Java-экземпляр встроенного типа данных XML Schema time.

XMLGregorianCalendar newXMLGregorianCalendarTime​(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)

Создать Java-экземпляр встроенного типа данных XML Schema time.

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

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

Поля

DATATYPEFACTORY_PROPERTY

public static final String DATATYPEFACTORY_PROPERTY

Имя свойства по умолчанию, определенное в JSR 206: Java(TM) API для обработки XML (JAXP) 1.3.

Значение по умолчанию — javax.xml.datatype.DatatypeFactory.

См. также:
Значения константных полей

DATATYPEFACTORY_IMPLEMENTATION_CLASS

public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS

Имя класса реализации по умолчанию, определенное в JSR 206: Java(TM) API для обработки XML (JAXP) 1.3.

Реализаторы должны указать имя соответствующего класса для создания экземпляра, если никакой другой механизм разрешения реализации не сработает.

Пользователи не должны ссылаться на это поле; оно предназначено только для документирования детали реализации фабрики.

Конструкторы

DatatypeFactory

protected DatatypeFactory()

Защищенный конструктор для предотвращения создания экземпляра вне пакета.

Используйте newInstance() для создания DatatypeFactory.

Методы

newDefaultInstance

public static DatatypeFactory newDefaultInstance()

Создаёт новый экземпляр DatatypeFactory встроенной реализации по умолчанию системы.

Возвращает:
Новый экземпляр DatatypeFactory встроенной реализации по умолчанию системы.
С:
9

newInstance

public static DatatypeFactory newInstance()
                                   throws DatatypeConfigurationException

Получение нового экземпляра DatatypeFactory.

Механизмы разрешения реализации определены в документации этого Class.

Возвращает:
Новый экземпляр DatatypeFactory
Исключение:
DatatypeConfigurationException - Если реализация недоступна или не может быть создана.
См. также:
newInstance(String factoryClassName, ClassLoader classLoader)

newInstance

public static DatatypeFactory newInstance(String factoryClassName,
                                          ClassLoader classLoader)
                                   throws DatatypeConfigurationException

Получение нового экземпляра DatatypeFactory по имени класса. Эта функция полезна, когда в классе пути есть несколько поставщиков. Она даёт больше контроля приложению, позволяя указать, какой поставщик необходимо загрузить.

После того, как приложение получило ссылку на DatatypeFactory, оно может использовать фабрику для настройки и получения экземпляров типов данных.

Совет по устранению неполадок

Установка системной переменной jaxp.debug заставит этот метод выводить множество отладочных сообщений в System.err о выполняемых действиях и местах поиска.

Если у вас возникли проблемы, попробуйте:

java -Djaxp.debug=1 YourProgram ....
Параметры:
factoryClassName - полное имя класса фабрики, предоставляющей реализацию javax.xml.datatype.DatatypeFactory.
classLoader - ClassLoader для загрузки класса фабрики. Если null используется текущий Thread контекст загрузчика классов.
Возвращает:
Новый экземпляр DatatypeFactory
Исключение:
DatatypeConfigurationException - если factoryClassName является null, или класс фабрики не может быть загружен, создан.
С:
1.6
См. также:
newInstance()

newDuration

public abstract Duration newDuration(String lexicalRepresentation)

Получение нового экземпляра Duration, задавая его строковое представление, "PnYnMnDTnHnMnS", как определено в разделе 3.2.6.1 спецификации XML Schema 1.0.

Раздел 3.2.6 спецификации XML Schema Part 2: Datatypes, определяет duration как:

duration представляет продолжительность времени. Пространство значений duration — шестимерное пространство, где координаты обозначают компоненты григорианского года, месяца, дня, часа, минуты и секунды, определённые в разделе 5.5.3.2 [ISO 8601], соответственно. Эти компоненты упорядочены по важности в соответствии с их порядком появления, т.е. год, месяц, день, час, минута и секунда.

Все шесть значений устанавливаются и доступны из созданного Duration

Спецификация XML Schema указывает, что значения могут быть произвольного размера. Реализации могут не поддерживать или не быть способны поддерживать произвольно большие и/или маленькие значения. Будет выброшено исключение UnsupportedOperationException с сообщением, указывающим ограничения реализации, если пределы ёмкости реализации превышены.

Параметры:
lexicalRepresentation - Строковое представление String.
Возвращает:
Созданный Duration из парсинга строкового представления.
Исключение:
IllegalArgumentException - Если lexicalRepresentation не является допустимым представлением Duration.
UnsupportedOperationException - Если реализация не может поддержать запрошенные значения.
NullPointerException - Если lexicalRepresentation равно null.

newDuration

public abstract Duration newDuration(long durationInMilliSeconds)

Получение нового экземпляра Duration, задавая его значение в миллисекундах.

Раздел 3.2.6 спецификации XML Schema Part 2: Datatypes, определяет duration как:

duration представляет продолжительность времени. Пространство значений duration — шестимерное пространство, где координаты обозначают компоненты григорианского года, месяца, дня, часа, минуты и секунды, определённые в разделе 5.5.3.2 [ISO 8601], соответственно. Эти компоненты упорядочены по важности в соответствии с их порядком появления, т.е. год, месяц, день, час, минута и секунда.

Все шесть значений устанавливаются путём вычисления из заданных миллисекунд и доступны с помощью методов get созданного Duration. Значения соответствуют и определены:

Экземпляр по умолчанию определяется использованием начала эпохи в GregorianCalendar: т.е. Calendar.YEAR = 1970, Calendar.MONTH = Calendar.JANUARY, Calendar.DATE = 1 и т.д. Это важно, так как существуют различия в григорианском календаре, например, високосные годы имеют разные дни в месяце = Calendar.FEBRUARY, поэтому результат Duration.getMonths() и Duration.getDays() может зависеть от этого.

Параметры:
durationInMilliSeconds - Продолжительность в миллисекундах для создания.
Возвращает:
Новый Duration, представляющий durationInMilliSeconds.

newDuration

public abstract Duration newDuration(boolean isPositive,
                                     BigInteger years,
                                     BigInteger months,
                                     BigInteger days,
                                     BigInteger hours,
                                     BigInteger minutes,
                                     BigDecimal seconds)

Получение нового экземпляра Duration, задавая его значения: isPositive, годы, месяцы, дни, часы, минуты, секунды.

Спецификация XML Schema указывает, что значения могут быть произвольного размера. Реализации могут не поддерживать или не быть способны поддерживать произвольно большие и/или маленькие значения. Будет выброшено исключение UnsupportedOperationException с сообщением, указывающим ограничения реализации, если пределы ёмкости реализации превышены.

Значение null указывает, что поле не установлено.

Параметры:
isPositive - Установите в false для создания отрицательной продолжительности. При нулевой длительности продолжительности этот параметр игнорируется.
years - для этой Duration
months - для этой Duration
days - для этой Duration
hours - для этой Duration
minutes - для этой Duration
seconds - для этой Duration
Возвращает:
Созданный Duration из указанных значений.
Исключение:
IllegalArgumentException - Если значения не являются допустимым представлением Duration, если все поля (годы, месяцы, ...) равны null или если любое из полей отрицательно.
UnsupportedOperationException - Если реализация не может поддержать запрошенные значения.

newDuration

public Duration newDuration(boolean isPositive,
                            int years,
                            int months,
                            int days,
                            int hours,
                            int minutes,
                            int seconds)

Получение нового экземпляра Duration, задавая его значения: isPositive, годы, месяцы, дни, часы, минуты, секунды.

Значение DatatypeConstants.FIELD_UNDEFINED указывает, что поле не установлено.

Параметры:
isPositive - Установите в false для создания отрицательной продолжительности. При нулевой длительности продолжительности этот параметр игнорируется.
years - для этой Duration
months - для этой Duration
days - для этой Duration
hours - для этой Duration
minutes - для этой Duration
seconds - для этой Duration
Возвращает:
Созданный Duration из указанных значений.
Исключение:
IllegalArgumentException - Если значения не являются допустимым представлением Duration, если любое из полей отрицательно.
См. также:
newDuration( boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)

newDurationDayTime

public Duration newDurationDayTime(String lexicalRepresentation)

Создать Duration типа xdt:dayTimeDuration путём парсинга его строкового представления, "PnDTnHnMnS", XQuery 1.0 и XPath 2.0 Data Model, xdt:dayTimeDuration.

Тип данных xdt:dayTimeDuration — подтип xs:duration, чьё лексическое представление содержит только компоненты день, час, минута и секунда. Этот тип данных находится в пространстве имён http://www.w3.org/2003/11/xpath-datatypes.

Все четыре значения устанавливаются и доступны из созданного Duration

Спецификация XML Schema указывает, что значения могут быть произвольного размера. Реализации могут не поддерживать или не быть способны поддерживать произвольно большие и/или маленькие значения. Будет выброшено исключение UnsupportedOperationException с сообщением, указывающим ограничения реализации, если пределы ёмкости реализации превышены.

Параметры:
lexicalRepresentation - Лексическое представление продолжительности.
Возвращает:
Созданный Duration, используя указанное lexicalRepresentation.
Исключение:
IllegalArgumentException - Если lexicalRepresentation не является допустимым представлением Duration, выраженным только в днях и времени.
UnsupportedOperationException - Если реализация не может поддержать запрошенные значения.
NullPointerException - Если lexicalRepresentation равно null.

newDurationDayTime

public Duration newDurationDayTime(long durationInMilliseconds)

Создайте Duration типа xdt:dayTimeDuration, используя указанные миллисекунды, как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:dayTimeDuration.

Тип данных xdt:dayTimeDuration является подтипом xs:duration, чьё лексическое представление содержит только компоненты день, час, минута и секунда. Этот тип данных находится в пространстве имён http://www.w3.org/2003/11/xpath-datatypes.

Все четыре значения устанавливаются, вычисляя их из указанных миллисекунд, и доступны с помощью методов get созданного Duration. Значения соответствуют и определены:

Значение по умолчанию для начала задаётся GregorianCalendar с использованием начала эпохи: т. е., Calendar.YEAR = 1970, Calendar.MONTH = Calendar.JANUARY, Calendar.DATE = 1 и т. д. Это важно, так как в григорианском календаре есть вариации, например, високосные годы имеют разные дни в месяце = Calendar.FEBRUARY, поэтому результат Duration.getDays() может быть повлиян.

Любые оставшиеся миллисекунды после определения дня, часа, минуты и секунды отбрасываются.

Параметры:
durationInMilliseconds - Миллисекунды Duration для создания.
Возвращает:
Новый Duration созданный с указанными durationInMilliseconds.
См. также:
XQuery 1.0 и XPath 2.0 Data Model, xdt:dayTimeDuration

newDurationDayTime

public Duration newDurationDayTime(boolean isPositive,
                                   BigInteger day,
                                   BigInteger hour,
                                   BigInteger minute,
                                   BigInteger second)

Создайте Duration типа xdt:dayTimeDuration, используя указанные day, hour, minute и second как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:dayTimeDuration.

Тип данных xdt:dayTimeDuration является подтипом xs:duration, чьё лексическое представление содержит только компоненты день, час, минута и секунда. Этот тип данных находится в пространстве имён http://www.w3.org/2003/11/xpath-datatypes.

Спецификация XML Schema указывает, что значения могут иметь произвольный размер. Реализации могут выбрать не поддерживать или быть неспособны поддерживать произвольно большие и/или малые значения. Будет выброшено исключение UnsupportedOperationException с сообщением, указывающим пределы реализации, если емкости реализации превышены.

Значение null указывает, что поле не установлено.

Параметры:
isPositive - Установите в false для создания отрицательной длительности. Когда длина длительности равна нулю, этот параметр будет проигнорирован.
day - День Duration.
hour - Час Duration.
minute - Минута Duration.
second - Секунда Duration.
Возвращает:
Новый Duration созданный с указанными day, hour, minute и second.
Исключения:
IllegalArgumentException - Если значения не являются допустимым представлением Duration: если все поля (день, час, ...) равны null или если любое из полей отрицательно.
UnsupportedOperationException - Если реализация не может поддерживать запрошенные значения.

newDurationDayTime

public Duration newDurationDayTime(boolean isPositive,
                                   int day,
                                   int hour,
                                   int minute,
                                   int second)

Создайте Duration типа xdt:dayTimeDuration, используя указанные day, hour, minute и second как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:dayTimeDuration.

Тип данных xdt:dayTimeDuration является подтипом xs:duration, чьё лексическое представление содержит только компоненты день, час, минута и секунда. Этот тип данных находится в пространстве имён http://www.w3.org/2003/11/xpath-datatypes.

Значение DatatypeConstants.FIELD_UNDEFINED указывает, что поле не установлено.

Параметры:
isPositive - Установите в false для создания отрицательной длительности. Когда длина длительности равна нулю, этот параметр будет проигнорирован.
day - День Duration.
hour - Час Duration.
minute - Минута Duration.
second - Секунда Duration.
Возвращает:
Новый Duration созданный с указанными day, hour, minute и second.
Исключения:
IllegalArgumentException - Если значения не являются допустимым представлением Duration: если любое из полей (день, час, ...) отрицательно.

newDurationYearMonth

public Duration newDurationYearMonth(String lexicalRepresentation)

Создайте Duration типа xdt:yearMonthDuration, парсируя его строковое представление, "PnYnM", XQuery 1.0 и XPath 2.0 Data Model, xdt:yearMonthDuration.

Тип данных xdt:yearMonthDuration является подтипом xs:duration, чьё лексическое представление содержит только компоненты год и месяц. Этот тип данных находится в пространстве имён XMLConstants.W3C_XPATH_DATATYPE_NS_URI.

Оба значения устанавливаются и доступны из созданного Duration

Спецификация XML Schema указывает, что значения могут иметь произвольный размер. Реализации могут выбрать не поддерживать или быть неспособны поддерживать произвольно большие и/или малые значения. Будет выброшено исключение UnsupportedOperationException с сообщением, указывающим пределы реализации, если емкости реализации превышены.

Параметры:
lexicalRepresentation - Лексическое представление длительности.
Возвращает:
Новый Duration созданный с указанным lexicalRepresentation.
Исключения:
IllegalArgumentException - Если lexicalRepresentation не является допустимым представлением Duration, выраженным только в терминах лет и месяцев.
UnsupportedOperationException - Если реализация не может поддерживать запрошенные значения.
NullPointerException - Если lexicalRepresentation является null.

newDurationYearMonth

public Duration newDurationYearMonth(long durationInMilliseconds)

Создайте Duration типа xdt:yearMonthDuration, используя указанные миллисекунды, как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:yearMonthDuration.

Тип данных xdt:yearMonthDuration является подтипом xs:duration, чьё лексическое представление содержит только компоненты год и месяц. Этот тип данных находится в пространстве имён XMLConstants.W3C_XPATH_DATATYPE_NS_URI.

Оба значения устанавливаются, вычисляя их из указанных миллисекунд, и доступны с помощью методов get созданного Duration. Значения соответствуют и определены:

Значение по умолчанию для начала задаётся GregorianCalendar с использованием начала эпохи: т. е., Calendar.YEAR = 1970, Calendar.MONTH = Calendar.JANUARY, Calendar.DATE = 1 и т. д. Это важно, так как в григорианском календаре есть вариации, например, високосные годы имеют разные дни в месяце = Calendar.FEBRUARY, поэтому результат Duration.getMonths() может быть повлиян.

Любые оставшиеся миллисекунды после определения года и месяца отбрасываются.

Параметры:
durationInMilliseconds - Миллисекунды Duration для создания.
Возвращает:
Новый Duration созданный с указанными durationInMilliseconds.

newDurationYearMonth

public Duration newDurationYearMonth(boolean isPositive,
                                     BigInteger year,
                                     BigInteger month)

Создайте Duration типа xdt:yearMonthDuration, используя указанные year и month как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:yearMonthDuration.

Спецификация XML Schema указывает, что значения могут иметь произвольный размер. Реализации могут выбрать не поддерживать или быть неспособны поддерживать произвольно большие и/или малые значения. Будет выброшено исключение UnsupportedOperationException с сообщением, указывающим пределы реализации, если емкости реализации превышены.

Значение null указывает, что поле не установлено.

Параметры:
isPositive - Установите в false для создания отрицательной длительности. Когда длина длительности равна нулю, этот параметр будет проигнорирован.
year - Год Duration.
month - Месяц Duration.
Возвращает:
Новый Duration созданный с указанными year и month.
Исключения:
IllegalArgumentException - Если значения не являются допустимым представлением Duration: если все поля (год, месяц) равны null или если любое из полей отрицательно.
UnsupportedOperationException - Если реализация не может поддерживать запрошенные значения.

newDurationYearMonth

public Duration newDurationYearMonth(boolean isPositive,
                                     int year,
                                     int month)

Создайте Duration типа xdt:yearMonthDuration с помощью указанных year и month, как определено в XQuery 1.0 и XPath 2.0 Data Model, xdt:yearMonthDuration.

Значение DatatypeConstants.FIELD_UNDEFINED указывает, что поле не установлено.

Параметры:
isPositive - Установите в false, чтобы создать отрицательную продолжительность. Если длина продолжительности равна нулю, этот параметр будет проигнорирован.
year - Год Duration.
month - Месяц Duration.
Возвращает:
Новый Duration, созданный с помощью указанных year и month.
Выбрасывает:
IllegalArgumentException - Если значения не являются корректным представлением Duration: если любое из полей (год, месяц) отрицательно.

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar()

Создать новый экземпляр XMLGregorianCalendar.

Все поля типа дата/время установлены в DatatypeConstants.FIELD_UNDEFINED или null.

Возвращает:
Новый XMLGregorianCalendar со всеми полями типа дата/время, установленными в DatatypeConstants.FIELD_UNDEFINED или null.

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar(String lexicalRepresentation)

Создайте XMLGregorianCalendar, разобрав строку как лексическое представление.

Разбор лексического строкового представления определен в XML Schema 1.0 Part 2, Section 3.2.[7-14].1, Лексическое представление.

Строковое представление не должно содержать начальных и конечных пробелов.

Разбор выполняется по полю, так что для любой лексически корректной строки x:

newXMLGregorianCalendar(x).toXMLFormat().equals(x)

За исключением отмеченных лексических/канонических несоответствий, перечисленных в XML Schema 1.0 errata, Section 3.2.7.2.

Параметры:
lexicalRepresentation - Лексическое представление одного из восьми типов данных XML Schema дата/время.
Возвращает:
XMLGregorianCalendar созданный из lexicalRepresentation.
Выбрасывает:
IllegalArgumentException - Если lexicalRepresentation не является корректным XMLGregorianCalendar.
NullPointerException - Если lexicalRepresentation является null.

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar(GregorianCalendar cal)

Создать XMLGregorianCalendar из GregorianCalendar.

java.util.GregorianCalendar поле javax.xml.datatype.XMLGregorianCalendar поле
ERA == GregorianCalendar.BC ? -YEAR : YEAR XMLGregorianCalendar.setYear(int year)
MONTH + 1 XMLGregorianCalendar.setMonth(int month)
DAY_OF_MONTH XMLGregorianCalendar.setDay(int day)
HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND XMLGregorianCalendar.setTime(int hour, int minute, int second, BigDecimal fractional)
(ZONE_OFFSET + DST_OFFSET) / (60*1000)
(в минутах)
XMLGregorianCalendar.setTimezone(int offset)*

*потеря информации при преобразовании. Невозможно представить идентификатор часового пояса с летним временем в представлении типа данных дата/время XML Schema 1.0.

Для вычисления поля TimeZone возвращаемого значения,

  • если this.getTimezone() != FIELD_UNDEFINED, создайте java.util.TimeZone с пользовательским идентификатором часового пояса с помощью this.getTimezone().
  • иначе используйте значение по умолчанию часового пояса GregorianCalendar для хоста, определенное согласно java.util.TimeZone.getDefault().
Параметры:
cal - java.util.GregorianCalendar используемый для создания XMLGregorianCalendar
Возвращает:
XMLGregorianCalendar созданный из java.util.GregorianCalendar
Выбрасывает:
NullPointerException - Если cal является null.

newXMLGregorianCalendar

public abstract XMLGregorianCalendar newXMLGregorianCalendar(BigInteger year,
                                                             int month,
                                                             int day,
                                                             int hour,
                                                             int minute,
                                                             int second,
                                                             BigDecimal fractionalSecond,
                                                             int timezone)

Конструктор, позволяющий использовать все значения, разрешенные рекомендацией W3C XML Schema 1.0 для xsd:dateTime и связанных встроенных типов данных. Обратите внимание, что параметр year поддерживает произвольно большие числа, а fractionalSecond имеет бесконечную точность.

Значение null указывает, что поле не установлено.

Параметры:
year - года XMLGregorianCalendar для создания.
month - месяца XMLGregorianCalendar для создания.
day - дня XMLGregorianCalendar для создания.
hour - часа XMLGregorianCalendar для создания.
minute - минуты XMLGregorianCalendar для создания.
second - секунды XMLGregorianCalendar для создания.
fractionalSecond - наносекунды XMLGregorianCalendar для создания.
timezone - смещения XMLGregorianCalendar для создания.
Возвращает:
XMLGregorianCalendar созданный из указанных значений.
Выбрасывает:
IllegalArgumentException - Если значение любого отдельного параметра выходит за пределы максимального значения для поля, как определено в таблице сопоставления данных даты/времени в XMLGregorianCalendar, или если составные значения представляют некорректный экземпляр XMLGregorianCalendar в соответствии с XMLGregorianCalendar.isValid().

newXMLGregorianCalendar

public XMLGregorianCalendar newXMLGregorianCalendar(int year,
                                                    int month,
                                                    int day,
                                                    int hour,
                                                    int minute,
                                                    int second,
                                                    int millisecond,
                                                    int timezone)

Конструктор значений, которые экземпляр java.util.GregorianCalendar должен преобразовать в экземпляр XMLGregorianCalendar.

XMLGregorianCalendar eon и fractionalSecond установлены в null

Значение DatatypeConstants.FIELD_UNDEFINED указывает, что поле не установлено.

Параметры:
year - год XMLGregorianCalendar для создания.
month - месяц XMLGregorianCalendar для создания.
day - день XMLGregorianCalendar для создания.
hour - час XMLGregorianCalendar для создания.
minute - минута XMLGregorianCalendar для создания.
second - секунда XMLGregorianCalendar для создания.
millisecond - наносекунда XMLGregorianCalendar для создания.
timezone - смещение XMLGregorianCalendar для создания.
Возвращает:
XMLGregorianCalendar созданный из указанных значений.
Выбрасывает:
IllegalArgumentException - Если значение любого отдельного параметра выходит за пределы максимального значения для поля, как определено в таблице сопоставления данных даты/времени в XMLGregorianCalendar, или если составные значения представляют некорректный экземпляр XMLGregorianCalendar в соответствии с XMLGregorianCalendar.isValid().

newXMLGregorianCalendarDate

public XMLGregorianCalendar newXMLGregorianCalendarDate(int year,
                                                        int month,
                                                        int day,
                                                        int timezone)

Создать Java-представление встроенного типа данных XML Schema date или g*.

Например, экземпляр gYear можно создать, вызвав этот фабричный метод с параметрами month и day, установленными в DatatypeConstants.FIELD_UNDEFINED.

Значение DatatypeConstants.FIELD_UNDEFINED указывает, что поле не установлено.

Параметры:
year - год XMLGregorianCalendar для создания.
month - месяц XMLGregorianCalendar для создания.
day - день XMLGregorianCalendar для создания.
timezone - смещение в минутах. DatatypeConstants.FIELD_UNDEFINED указывает, что необязательное поле не установлено.
Возвращает:
XMLGregorianCalendar созданный из значений параметров.
Выбрасывает:
IllegalArgumentException - Если значение любого отдельного параметра выходит за пределы максимального значения для поля, как определено в таблице сопоставления данных даты/времени в XMLGregorianCalendar, или если составные значения представляют некорректный экземпляр XMLGregorianCalendar в соответствии с XMLGregorianCalendar.isValid().
См. также:
DatatypeConstants.FIELD_UNDEFINED

newXMLGregorianCalendarTime

public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours,
                                                        int minutes,
                                                        int seconds,
                                                        int timezone)

Создать Java-экземпляр встроенного типа данных XML Schema time.

Значение DatatypeConstants.FIELD_UNDEFINED указывает, что поле не установлено.

Параметры:
hours - количество часов
minutes - количество минут
seconds - количество секунд
timezone - смещение в минутах. DatatypeConstants.FIELD_UNDEFINED указывает, что необязательное поле не установлено.
Возвращает:
XMLGregorianCalendar созданный из значений параметров.
Выбрасывает:
IllegalArgumentException - Если значение любого отдельного параметра выходит за пределы максимального значения для поля, как определено в таблице сопоставления данных даты/времени в XMLGregorianCalendar, или если составные значения представляют некорректный экземпляр XMLGregorianCalendar в соответствии с XMLGregorianCalendar.isValid().
См. также:
DatatypeConstants.FIELD_UNDEFINED

newXMLGregorianCalendarTime

public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours,
                                                        int minutes,
                                                        int seconds,
                                                        BigDecimal fractionalSecond,
                                                        int timezone)

Создать Java-экземпляр встроенного типа данных XML Schema time.

Значение null указывает, что поле не установлено.

Значение DatatypeConstants.FIELD_UNDEFINED указывает, что поле не установлено.

Параметры:
hours - количество часов
minutes - количество минут
seconds - количество секунд
fractionalSecond - значение null указывает, что это необязательное поле не установлено.
timezone - смещение в минутах. DatatypeConstants.FIELD_UNDEFINED указывает, что необязательное поле не установлено.
Возвращает:
XMLGregorianCalendar , созданный из значений параметров.
Выбрасывает:
IllegalArgumentException - если значение любого отдельного параметра выходит за пределы максимального значения для поля, как определено в таблице сопоставления данных даты/времени в XMLGregorianCalendar, или если составные значения образуют недопустимый экземпляр XMLGregorianCalendar , как определено в XMLGregorianCalendar.isValid().
См. также:
DatatypeConstants.FIELD_UNDEFINED

newXMLGregorianCalendarTime

public XMLGregorianCalendar newXMLGregorianCalendarTime(int hours,
                                                        int minutes,
                                                        int seconds,
                                                        int milliseconds,
                                                        int timezone)

Создать экземпляр Java для встроенного типа данных времени XML Schema.

Значение DatatypeConstants.FIELD_UNDEFINED указывает, что поле не установлено.

Параметры:
hours - количество часов
minutes - количество минут
seconds - количество секунд
milliseconds - количество миллисекунд
timezone - смещение в минутах. DatatypeConstants.FIELD_UNDEFINED указывает, что необязательное поле не установлено.
Возвращает:
XMLGregorianCalendar , созданный из значений параметров.
Выбрасывает:
IllegalArgumentException - если значение любого отдельного параметра выходит за пределы максимального значения для поля, как определено в таблице сопоставления данных даты/времени в XMLGregorianCalendar, или если составные значения образуют недопустимый экземпляр XMLGregorianCalendar , как определено в XMLGregorianCalendar.isValid().
См. также:
DatatypeConstants.FIELD_UNDEFINED

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/javax/xml/datatype/DatatypeFactory.html

Spec-Zone .ru
спецификации, руководства, описания, API