Класс DatatypeFactory
- java.lang.Object
-
- javax.xml.datatype.DatatypeFactory
public abstract class DatatypeFactory extends Object
Фабрика, создающая новые javax.xml.datatype Objectы, которые отображают XML в/из Java Objectы.
Новый экземпляр DatatypeFactory создается с помощью метода newInstance(), который использует следующие механизмы разрешения реализации для определения реализации:
- Если существует системная переменная, определенная в
DATATYPEFACTORY_PROPERTY, "javax.xml.datatype.DatatypeFactory", то будет создан экземпляр класса с именем из значения свойства. Любой исключительный случай, возникший во время процесса создания экземпляра, обернется вDatatypeConfigurationException. -
Используется конфигурационный файл "jaxp.properties". Файл находится в стандартном формате
Propertiesи обычно расположен в каталогеconfустановки Java. Он содержит полное имя класса реализации с ключом, являющимся системной переменной, определенной выше.Файл jaxp.properties считывается только один раз реализацией JAXP, а его значения кэшируются для последующего использования. Если файл не существует при первой попытке его чтения, дальнейшие проверки его существования не производятся. Изменить значение любого свойства в jaxp.properties после его первого прочтения невозможно.
-
Используется механизм загрузки поставщиков услуг, определенный классом
ServiceLoader, для поиска и загрузки реализации службы с использованием механизма загрузки по умолчанию: механизм загрузки поставщиков услуг будет использовать класс загрузки контекста текущей нити для попытки загрузки службы. Если класс загрузки контекста равен null, используется класс загрузки системы.В случае
service configuration errorбудет выброшено исключениеDatatypeConfigurationException. -
Последний механизм заключается в попытке создания экземпляра
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() | Создает новый экземпляр |
Duration | newDuration(boolean isPositive,
int years,
int months,
int days,
int hours,
int minutes,
int seconds) | Получить новый экземпляр |
abstract Duration | newDuration(boolean isPositive,
BigInteger years,
BigInteger months,
BigInteger days,
BigInteger hours,
BigInteger minutes,
BigDecimal seconds) | Получить новый экземпляр |
abstract Duration | newDuration(long durationInMilliSeconds) | Получить новый экземпляр |
abstract Duration | newDuration(String lexicalRepresentation) | Получить новый экземпляр |
Duration | newDurationDayTime(boolean isPositive,
int day,
int hour,
int minute,
int second) | Создать |
Duration | newDurationDayTime(boolean isPositive,
BigInteger day,
BigInteger hour,
BigInteger minute,
BigInteger second) | Создать |
Duration | newDurationDayTime(long durationInMilliseconds) | Создать |
Duration | newDurationDayTime(String lexicalRepresentation) | Создать |
Duration | newDurationYearMonth(boolean isPositive,
int year,
int month) | Создать |
Duration | newDurationYearMonth(boolean isPositive,
BigInteger year,
BigInteger month) | Создать |
Duration | newDurationYearMonth(long durationInMilliseconds) | Создать |
Duration | newDurationYearMonth(String lexicalRepresentation) | Создать |
static DatatypeFactory | newInstance() | Получить новый экземпляр |
static DatatypeFactory | newInstance(String factoryClassName,
ClassLoader classLoader) | Получить новый экземпляр |
abstract XMLGregorianCalendar | newXMLGregorianCalendar() | Создать новый экземпляр |
XMLGregorianCalendar | newXMLGregorianCalendar(int year,
int month,
int day,
int hour,
int minute,
int second,
int millisecond,
int timezone) | Конструктор пространства значений, которые экземпляр |
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 | newXMLGregorianCalendarDate(int year,
int month,
int day,
int timezone) | Создать Java-представление встроенного типа данных XML Schema |
XMLGregorianCalendar | newXMLGregorianCalendarTime(int hours,
int minutes,
int seconds,
int timezone) | Создать Java-экземпляр встроенного типа данных XML Schema |
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. Значения соответствуют и определены:
- ISO 8601:2000(E) Раздел 5.5.3.2 Альтернативный формат
- W3C XML Schema 1.0 Часть 2, Приложение D, Форматы дат и времени ISO 8601
-
XMLGregorianCalendarСопоставление полей типа данных даты/времени между XML Schema 1.0 и Java представлением
Экземпляр по умолчанию определяется использованием начала эпохи в 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. Значения соответствуют и определены:
- ISO 8601:2000(E) Раздел 5.5.3.2 Альтернативный формат
- W3C XML Schema 1.0 Часть 2, Приложение D, Форматы дат и времени ISO 8601
-
XMLGregorianCalendarСопоставление полей типа данных Дата/Время между XML Schema 1.0 и представлением Java
Значение по умолчанию для начала задаётся 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. Значения соответствуют и определены:
- ISO 8601:2000(E) Раздел 5.5.3.2 Альтернативный формат
- W3C XML Schema 1.0 Часть 2, Приложение D, Форматы дат и времени ISO 8601
-
XMLGregorianCalendarСопоставление полей типа данных Дата/Время между XML Schema 1.0 и представлением Java
Значение по умолчанию для начала задаётся 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