Класс IIOMetadataFormatImpl

Все реализованные интерфейсы:
IIOMetadataFormat
public abstract class IIOMetadataFormatImpl
extends Object
implements IIOMetadataFormat

Конкретный класс, предоставляющий переиспользуемую реализацию интерфейса IIOMetadataFormat. Кроме того, статический экземпляр, представляющий стандартный, независимый от плагина формат javax_imageio_1.0, предоставляется методом getStandardFormatInstance.

Для обеспечения локализованных описаний элементов и атрибутов необходимо предоставить ResourceBundle с базовым именем this.getClass().getName() + "Resources" через обычный механизм, используемый ResourceBundle.getBundle. Вкратце, подкласс предоставляет один или несколько дополнительных классов в соответствии с соглашением об именовании (по умолчанию — полное имя подкласса, расширяющего IIMetadataFormatImpl, плюс строка "Resources", плюс коды страны, языка и варианта, разделенные символами нижнего подчеркивания). Во время выполнения вызовы getElementDescription или getAttributeDescription будут пытаться динамически загрузить такие классы в соответствии с предоставленной локалью и использовать имя элемента или имя элемента, за которым следует символ '/' и имя атрибута в качестве ключа. Этот ключ будет передан методу ResourceBundle's getString, и возвратится локализованное описание узла или атрибута.

Подкласс может предоставить другое базовое имя для ресурсов с помощью метода setResourceBaseName.

Подкласс может выбрать свой собственный механизм локализации, переопределив предоставленные реализации getElementDescription и getAttributeDescription.

См. также:
ResourceBundle.getBundle(String,Locale)

Краткое описание полей

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

Константа String, содержащая стандартное имя формата, "javax_imageio_1.0".

Поля, объявленные в интерфейсе javax.imageio.metadata.IIOMetadataFormat

CHILD_POLICY_ALL, CHILD_POLICY_CHOICE, CHILD_POLICY_EMPTY, CHILD_POLICY_MAX, CHILD_POLICY_REPEAT, CHILD_POLICY_SEQUENCE, CHILD_POLICY_SOME, DATATYPE_BOOLEAN, DATATYPE_DOUBLE, DATATYPE_FLOAT, DATATYPE_INTEGER, DATATYPE_STRING, VALUE_ARBITRARY, VALUE_ENUMERATION, VALUE_LIST, VALUE_NONE, VALUE_RANGE, VALUE_RANGE_MAX_INCLUSIVE, VALUE_RANGE_MAX_INCLUSIVE_MASK, VALUE_RANGE_MIN_INCLUSIVE, VALUE_RANGE_MIN_INCLUSIVE_MASK, VALUE_RANGE_MIN_MAX_INCLUSIVE

Краткое описание конструкторов

Конструктор Описание
IIOMetadataFormatImpl​(String rootName, int childPolicy)

Создает пустой экземпляр IIOMetadataFormatImpl с заданным именем корневого элемента и политикой обработки дочерних элементов (кроме CHILD_POLICY_REPEAT).

IIOMetadataFormatImpl​(String rootName, int minChildren, int maxChildren)

Создает пустой экземпляр IIOMetadataFormatImpl с заданным именем корневого элемента и политикой обработки дочерних элементов CHILD_POLICY_REPEAT.

Краткое описание методов

Модификатор и тип Метод Описание
protected void addAttribute​(String elementName, String attrName, int dataType, boolean required, int listMinLength, int listMaxLength)

Добавляет новый атрибут к ранее определенному элементу, который будет определен списком значений.

protected void addAttribute​(String elementName, String attrName, int dataType, boolean required, String defaultValue)

Добавляет новый атрибут к ранее определенному элементу, который может быть задан произвольным значением.

protected void addAttribute​(String elementName, String attrName, int dataType, boolean required, String defaultValue, String minValue, String maxValue, boolean minInclusive, boolean maxInclusive)

Добавляет новый атрибут к ранее определенному элементу, который будет определен диапазоном значений.

protected void addAttribute​(String elementName, String attrName, int dataType, boolean required, String defaultValue, List<String> enumeratedValues)

Добавляет новый атрибут к ранее определенному элементу, который будет определен набором перечисленных значений.

protected void addBooleanAttribute​(String elementName, String attrName, boolean hasDefaultValue, boolean defaultValue)

Добавляет новый атрибут к ранее определенному элементу, который будет определен перечисленными значениями TRUE и FALSE, с типом данных DATATYPE_BOOLEAN.

protected void addChildElement​(String elementName, String parentName)

Добавляет существующий элемент в список допустимых дочерних элементов для заданного типа родительского узла.

protected void addElement​(String elementName, String parentName, int childPolicy)

Добавляет новый тип элемента в этот формат метаданных документа с политикой обработки дочерних элементов, отличной от CHILD_POLICY_REPEAT.

protected void addElement​(String elementName, String parentName, int minChildren, int maxChildren)

Добавляет новый тип элемента в этот формат метаданных документа с политикой обработки дочерних элементов CHILD_POLICY_REPEAT.

protected void addObjectValue​(String elementName, Class<?> classType, int arrayMinLength, int arrayMaxLength)

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

protected <T> void addObjectValue​(String elementName, Class<T> classType, boolean required, T defaultValue)

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

protected <T> void addObjectValue​(String elementName, Class<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues)

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

protected <T extends Object & Comparable<? super T>>
void
addObjectValue​(String elementName, Class<T> classType, T defaultValue, Comparable<? super T> minValue, Comparable<? super T> maxValue, boolean minInclusive, boolean maxInclusive)

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

String getAttributeDescription​(String elementName, String attrName, Locale locale)

Возвращает String, содержащий описание указанного атрибута, или null.

String getElementDescription​(String elementName, Locale locale)

Возвращает String, содержащий описание указанного элемента, или null.

protected String getResourceBaseName()

Возвращает текущее базовое имя для поиска ResourceBundle.

static IIOMetadataFormat getStandardFormatInstance()

Возвращает объект IIOMetadataFormat, описывающий стандартный, независимый от плагина формат метаданных документа javax.imageio_1.0 метаданных, описанный в комментарии пакета javax.imageio.metadata.

protected void removeAttribute​(String elementName, String attrName)

Удаляет атрибут из ранее определенного элемента.

protected void removeElement​(String elementName)

Удаляет элемент из формата.

protected void removeObjectValue​(String elementName)

Запрещает хранение ссылки Object в узлах, реализующих указанный элемент.

protected void setResourceBaseName​(String resourceBaseName)

Устанавливает новое базовое имя для поиска ResourceBundle, содержащих описания элементов и атрибутов для данного формата.

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

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

Методы, объявленные в интерфейсе javax.imageio.metadata.IIOMetadataFormat

canNodeAppear, getAttributeDataType, getAttributeDefaultValue, getAttributeEnumerations, getAttributeListMaxLength, getAttributeListMinLength, getAttributeMaxValue, getAttributeMinValue, getAttributeNames, getAttributeValueType, getChildNames, getChildPolicy, getElementMaxChildren, getElementMinChildren, getObjectArrayMaxLength, getObjectArrayMinLength, getObjectClass, getObjectDefaultValue, getObjectEnumerations, getObjectMaxValue, getObjectMinValue, getObjectValueType, getRootName, isAttributeRequired

Подробное описание полей

standardMetadataFormatName

public static final String standardMetadataFormatName

Константа String, содержащая стандартное имя формата, "javax_imageio_1.0".

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

Подробное описание конструкторов

IIOMetadataFormatImpl

public IIOMetadataFormatImpl(String rootName,
                             int childPolicy)

Создает пустой экземпляр IIOMetadataFormatImpl с заданным именем корневого элемента и политикой обработки дочерних элементов (кроме CHILD_POLICY_REPEAT). Дополнительные элементы, их атрибуты и сведения о ссылках Object могут быть добавлены с помощью различных методов add.

Параметры:
rootName - имя корневого элемента.
childPolicy - одна из констант CHILD_POLICY_*, отличная от CHILD_POLICY_REPEAT.
Исключения:
IllegalArgumentException - если rootName имеет значение null.
IllegalArgumentException - если childPolicy не является одной из предопределенных констант.

IIOMetadataFormatImpl

public IIOMetadataFormatImpl(String rootName,
                             int minChildren,
                             int maxChildren)

Создает пустой экземпляр IIOMetadataFormatImpl с заданным именем корневого элемента и политикой обработки дочерних элементов CHILD_POLICY_REPEAT. Дополнительные элементы, их атрибуты и сведения о ссылках Object могут быть добавлены с помощью различных методов add.

Параметры:
rootName - имя корневого элемента.
minChildren - минимальное количество дочерних элементов узла.
maxChildren - максимальное количество дочерних элементов узла.
Исключения:
IllegalArgumentException - если rootName имеет значение null.
IllegalArgumentException - если minChildren отрицательное или больше, чем maxChildren.

Методы

setResourceBaseName

protected void setResourceBaseName(String resourceBaseName)

Устанавливает новое базовое имя для поиска ResourceBundleов, содержащих описания элементов и атрибутов для этого формата.

До первого вызова этого метода базовое имя будет равно this.getClass().getName() + "Resources".

Параметры:
resourceBaseName - a String containing the new base name.
Исключения:
IllegalArgumentException - if resourceBaseName is null.
См. также:
getResourceBaseName()

getResourceBaseName

protected String getResourceBaseName()

Возвращает текущее базовое имя для поиска ResourceBundleов.

Возвращает:
a String containing the base name.
См. также:
setResourceBaseName(java.lang.String)

addElement

protected void addElement(String elementName,
                          String parentName,
                          int childPolicy)

Добавляет новый тип элемента в этот формат документа метаданных с политикой дочерних элементов, отличной от CHILD_POLICY_REPEAT.

Параметры:
elementName - the name of the new element.
parentName - the name of the element that will be the parent of the new element.
childPolicy - one of the CHILD_POLICY_* constants, other than CHILD_POLICY_REPEAT, indicating the child policy of the new element.
Исключения:
IllegalArgumentException - if parentName is null, or is not a legal element name for this format.
IllegalArgumentException - if childPolicy is not one of the predefined constants.

addElement

protected void addElement(String elementName,
                          String parentName,
                          int minChildren,
                          int maxChildren)

Добавляет новый тип элемента в этот формат документа метаданных с политикой дочерних элементов CHILD_POLICY_REPEAT.

Параметры:
elementName - the name of the new element.
parentName - the name of the element that will be the parent of the new element.
minChildren - the minimum number of children of the node.
maxChildren - the maximum number of children of the node.
Исключения:
IllegalArgumentException - if parentName is null, or is not a legal element name for this format.
IllegalArgumentException - if minChildren is negative or larger than maxChildren.

addChildElement

protected void addChildElement(String elementName,
                               String parentName)

Добавляет существующий элемент в список допустимых дочерних элементов для данного типа родительского узла.

Параметры:
parentName - the name of the element that will be the new parent of the element.
elementName - the name of the element to be added as a child.
Исключения:
IllegalArgumentException - if elementName is null, or is not a legal element name for this format.
IllegalArgumentException - if parentName is null, or is not a legal element name for this format.

removeElement

protected void removeElement(String elementName)

Удаляет элемент из формата. Если элемента с заданным именем не существует, ничего не происходит и исключение не выбрасывается.

Параметры:
elementName - the name of the element to be removed.

addAttribute

protected void addAttribute(String elementName,
                            String attrName,
                            int dataType,
                            boolean required,
                            String defaultValue)

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

Параметры:
elementName - the name of the element.
attrName - the name of the attribute being added.
dataType - the data type (string format) of the attribute, one of the DATATYPE_* constants.
required - true if the attribute must be present.
defaultValue - the default value for the attribute, or null.
Исключения:
IllegalArgumentException - if elementName is null, or is not a legal element name for this format.
IllegalArgumentException - if attrName is null.
IllegalArgumentException - if dataType is not one of the predefined constants.

addAttribute

protected void addAttribute(String elementName,
                            String attrName,
                            int dataType,
                            boolean required,
                            String defaultValue,
                            List<String> enumeratedValues)

Добавляет новый атрибут к ранее определенному элементу, который будет определен набором перечисленных значений.

Параметры:
elementName - the name of the element.
attrName - the name of the attribute being added.
dataType - the data type (string format) of the attribute, one of the DATATYPE_* constants.
required - true if the attribute must be present.
defaultValue - the default value for the attribute, or null.
enumeratedValues - a List of Strings containing the legal values for the attribute.
Исключения:
IllegalArgumentException - if elementName is null, or is not a legal element name for this format.
IllegalArgumentException - if attrName is null.
IllegalArgumentException - if dataType is not one of the predefined constants.
IllegalArgumentException - if enumeratedValues is null.
IllegalArgumentException - if enumeratedValues does not contain at least one entry.
IllegalArgumentException - if enumeratedValues contains an element that is not a String or is null.

addAttribute

protected void addAttribute(String elementName,
                            String attrName,
                            int dataType,
                            boolean required,
                            String defaultValue,
                            String minValue,
                            String maxValue,
                            boolean minInclusive,
                            boolean maxInclusive)

Добавляет новый атрибут к ранее определенному элементу, который будет определен диапазоном значений.

Параметры:
elementName - the name of the element.
attrName - the name of the attribute being added.
dataType - the data type (string format) of the attribute, one of the DATATYPE_* constants.
required - true if the attribute must be present.
defaultValue - the default value for the attribute, or null.
minValue - the smallest (inclusive or exclusive depending on the value of minInclusive) legal value for the attribute, as a String.
maxValue - the largest (inclusive or exclusive depending on the value of minInclusive) legal value for the attribute, as a String.
minInclusive - true if minValue is inclusive.
maxInclusive - true if maxValue is inclusive.
Исключения:
IllegalArgumentException - if elementName is null, or is not a legal element name for this format.
IllegalArgumentException - if attrName is null.
IllegalArgumentException - if dataType is not one of the predefined constants.

addAttribute

protected void addAttribute(String elementName,
                            String attrName,
                            int dataType,
                            boolean required,
                            int listMinLength,
                            int listMaxLength)

Добавляет новый атрибут к ранее определенному элементу, который будет определен списком значений.

Параметры:
elementName - the name of the element.
attrName - the name of the attribute being added.
dataType - the data type (string format) of the attribute, one of the DATATYPE_* constants.
required - true if the attribute must be present.
listMinLength - the smallest legal number of list items.
listMaxLength - the largest legal number of list items.
Исключения:
IllegalArgumentException - if elementName is null, or is not a legal element name for this format.
IllegalArgumentException - if attrName is null.
IllegalArgumentException - if dataType is not one of the predefined constants.
IllegalArgumentException - if listMinLength is negative or larger than listMaxLength.

addBooleanAttribute

protected void addBooleanAttribute(String elementName,
                                   String attrName,
                                   boolean hasDefaultValue,
                                   boolean defaultValue)

Добавляет новый атрибут к ранее определенному элементу, который будет определен перечисленными значениями TRUE и FALSE, с типом данных DATATYPE_BOOLEAN.

Параметры:
elementName - the name of the element.
attrName - the name of the attribute being added.
hasDefaultValue - true if a default value should be present.
defaultValue - the default value for the attribute as a boolean, ignored if hasDefaultValue is false.
Исключения:
IllegalArgumentException - if elementName is null, or is not a legal element name for this format.
IllegalArgumentException - if attrName is null.

removeAttribute

protected void removeAttribute(String elementName,
                               String attrName)

Удаляет атрибут из ранее определенного элемента. Если атрибута с заданным именем не существует в данном элементе, ничего не происходит и исключение не выбрасывается.

Параметры:
elementName - the name of the element.
attrName - the name of the attribute being removed.
Исключения:
IllegalArgumentException - if elementName is null, or is not a legal element name for this format.

addObjectValue

protected <T> void addObjectValue(String elementName,
                                  Class<T> classType,
                                  boolean required,
                                  T defaultValue)

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

Если ранее была разрешена ссылка на объект этого типа, предыдущие настройки будут перезаписаны.

Параметры типа:
T - тип объекта.
Параметры:
elementName - имя элемента.
classType - переменная, указывающая допустимый тип класса для значения объекта.
required - true если значение объекта обязательно.
defaultValue - значение по умолчанию для ссылки на объект, или null.
Исключения:
IllegalArgumentException - если elementName имеет значение null, или не является допустимым именем элемента для данного формата.

addObjectValue

protected <T> void addObjectValue(String elementName,
                                  Class<T> classType,
                                  boolean required,
                                  T defaultValue,
                                  List<? extends T> enumeratedValues)

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

Если ранее была разрешена ссылка на объект этого типа, предыдущие настройки будут перезаписаны.

Параметры типа:
T - тип объекта.
Параметры:
elementName - имя элемента.
classType - переменная, указывающая допустимый тип класса для значения объекта.
required - true если значение объекта обязательно.
defaultValue - значение по умолчанию для ссылки на объект, или null.
enumeratedValues - список Object содержащий допустимые значения для ссылки на объект.
Исключения:
IllegalArgumentException - если elementName имеет значение null, или не является допустимым именем элемента для данного формата.
IllegalArgumentException - если enumeratedValues имеет значение null.
IllegalArgumentException - если enumeratedValues не содержит хотя бы одну запись.
IllegalArgumentException - если enumeratedValues содержит элемент, который не является экземпляром класса, обозначенного classType, или имеет значение null.

addObjectValue

protected <T extends Object & Comparable<? super T>> void addObjectValue(String elementName,
                                                                         Class<T> classType,
                                                                         T defaultValue,
                                                                         Comparable<? super T> minValue,
                                                                         Comparable<? super T> maxValue,
                                                                         boolean minInclusive,
                                                                         boolean maxInclusive)

Позволяет хранить ссылку на объект заданного типа в узлах, реализующих указанный элемент. Значение ссылки должно находиться в диапазоне, заданном minValue и maxValue . Кроме того, тип класса должен реализовывать интерфейс Comparable.

Если ранее была разрешена ссылка на объект этого типа, предыдущие настройки будут перезаписаны.

Параметры типа:
T - тип объекта.
Параметры:
elementName - имя элемента.
classType - переменная, указывающая допустимый тип класса для значения объекта.
defaultValue - значение по умолчанию для
minValue - наименьшее (включительно или не включительно в зависимости от значения minInclusive) допустимое значение для значения объекта, как String.
maxValue - наибольшее (включительно или не включительно в зависимости от значения minInclusive) допустимое значение для значения объекта, как String.
minInclusive - true если minValue включительно.
maxInclusive - true если maxValue включительно.
Исключения:
IllegalArgumentException - если elementName имеет значение null, или не является допустимым именем элемента для данного формата.

addObjectValue

protected void addObjectValue(String elementName,
                              Class<?> classType,
                              int arrayMinLength,
                              int arrayMaxLength)

Позволяет хранить ссылку на массив объектов заданного типа в узлах, реализующих указанный элемент. Значение ссылки должно быть массивом объектов типа classType, с количеством элементов от arrayMinLength до arrayMaxLength.

Если ранее была разрешена ссылка на объект этого типа, предыдущие настройки будут перезаписаны.

Параметры:
elementName - имя элемента.
classType - переменная, указывающая допустимый тип класса для значения объекта.
arrayMinLength - наименьшая допустимая длина массива.
arrayMaxLength - наибольшая допустимая длина массива.
Исключения:
IllegalArgumentException - если elementName не является допустимым именем элемента для данного формата.

removeObjectValue

protected void removeObjectValue(String elementName)

Запрещает хранение ссылки на объект в узлах, реализующих указанный элемент.

Параметры:
elementName - имя элемента.
Исключения:
IllegalArgumentException - если elementName не является допустимым именем элемента для данного формата.

getElementDescription

public String getElementDescription(String elementName,
                                    Locale locale)

Возвращает строку, содержащую описание указанного элемента, или null. Описание будет локализовано для заданного Locale, если это возможно.

Реализация по умолчанию сначала ищет ресурсный файл, используя текущее имя базового ресурса, установленное setResourceBaseName, и заданный Locale, используя механизм обратного вызова, описанный в комментариях к ResourceBundle.getBundle. Если такой ресурс найден, имя элемента используется как ключ для вызова метода getString, и результат возвращается. Если ресурс не найден, или ключ отсутствует, возвращается null.

Если locale имеет значение null, используется текущее значение по умолчанию Locale, возвращаемое Locale.getLocale.

Определено в:
getElementDescription в интерфейсе IIOMetadataFormat
Параметры:
elementName - имя элемента.
locale - Locale для которого будет осуществлена локализация.
Возвращает:
описание элемента.
Исключения:
IllegalArgumentException - если elementName имеет значение null, или не является допустимым именем элемента для данного формата.
См. также:
setResourceBaseName(java.lang.String)

getAttributeDescription

public String getAttributeDescription(String elementName,
                                      String attrName,
                                      Locale locale)

Возвращает строку, содержащую описание указанного атрибута, или null. Описание будет локализовано для заданного Locale , если это возможно.

Реализация по умолчанию сначала ищет ресурсный файл, используя текущее имя базового ресурса, установленное setResourceBaseName, и заданный Locale, используя механизм обратного вызова, описанный в комментариях к ResourceBundle.getBundle. Если такой ресурс найден, имя элемента, за которым следует символ "/" и имя атрибута (elementName + "/" + attrName) используются в качестве ключа для вызова метода getString, и результат возвращается. Если ресурс не найден, или ключ отсутствует, возвращается null.

Если locale имеет значение null, используется текущее значение по умолчанию Locale, возвращаемое Locale.getLocale.

Определено в:
getAttributeDescription в интерфейсе IIOMetadataFormat
Параметры:
elementName - имя элемента.
attrName - имя атрибута.
locale - Locale для которого будет осуществлена локализация, или null.
Возвращает:
описание атрибута.
Исключения:
IllegalArgumentException - если elementName имеет значение null, или не является допустимым именем элемента для данного формата.
IllegalArgumentException - если attrName имеет значение null или не является допустимым именем атрибута для данного элемента.
См. также:
setResourceBaseName(java.lang.String)

getStandardFormatInstance

public static IIOMetadataFormat getStandardFormatInstance()

Возвращает объект, описывающий стандартный, независимый от плагинов, формат метаданных javax.imageio_1.0 документа, описанный в комментарии к пакету javax.imageio.metadata.

Возвращает:
предопределенный экземпляр IIOMetadataFormat.

© 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.desktop/javax/imageio/metadata/IIOMetadataFormatImpl.html

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