Класс IIOMetadataFormatImpl
- java.lang.Object
-
- javax.imageio.metadata.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 | Константа |
Поля, объявленные в интерфейсе 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(String rootName,
int minChildren,
int maxChildren) | Создает пустой экземпляр |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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) | Добавляет новый атрибут к ранее определенному элементу, который будет определен перечисленными значениями |
protected void | addChildElement(String elementName,
String parentName) | Добавляет существующий элемент в список допустимых дочерних элементов для заданного типа родительского узла. |
protected void | addElement(String elementName,
String parentName,
int childPolicy) | Добавляет новый тип элемента в этот формат метаданных документа с политикой обработки дочерних элементов, отличной от |
protected void | addElement(String elementName,
String parentName,
int minChildren,
int maxChildren) | Добавляет новый тип элемента в этот формат метаданных документа с политикой обработки дочерних элементов |
protected void | addObjectValue(String elementName,
Class<?> classType,
int arrayMinLength,
int arrayMaxLength) | Разрешает хранить ссылку |
protected <T> void | addObjectValue(String elementName,
Class<T> classType,
boolean required,
T defaultValue) | Разрешает хранить ссылку |
protected <T> void | addObjectValue(String elementName,
Class<T> classType,
boolean required,
T defaultValue,
List<? extends T> enumeratedValues) | Разрешает хранить ссылку |
protected <T extends Object & Comparable<? super T>> | addObjectValue(String elementName,
Class<T> classType,
T defaultValue,
Comparable<? super T> minValue,
Comparable<? super T> maxValue,
boolean minInclusive,
boolean maxInclusive) | Разрешает хранить ссылку |
String | getAttributeDescription(String elementName,
String attrName,
Locale locale) | Возвращает |
String | getElementDescription(String elementName,
Locale locale) | Возвращает |
protected String | getResourceBaseName() | Возвращает текущее базовое имя для поиска |
static IIOMetadataFormat | getStandardFormatInstance() | Возвращает объект |
protected void | removeAttribute(String elementName,
String attrName) | Удаляет атрибут из ранее определенного элемента. |
protected void | removeElement(String elementName) | Удаляет элемент из формата. |
protected void | removeObjectValue(String elementName) | Запрещает хранение ссылки |
protected void | setResourceBaseName(String resourceBaseName) | Устанавливает новое базовое имя для поиска |
Методы, объявленные в классе 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- aStringcontaining the new base name. - Исключения:
-
IllegalArgumentException- ifresourceBaseNameisnull. - См. также:
getResourceBaseName()
getResourceBaseName
protected String getResourceBaseName()
Возвращает текущее базовое имя для поиска ResourceBundleов.
- Возвращает:
- a
Stringcontaining 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 theCHILD_POLICY_*constants, other thanCHILD_POLICY_REPEAT, indicating the child policy of the new element. - Исключения:
-
IllegalArgumentException- ifparentNameisnull, or is not a legal element name for this format. -
IllegalArgumentException- ifchildPolicyis 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- ifparentNameisnull, or is not a legal element name for this format. -
IllegalArgumentException- ifminChildrenis negative or larger thanmaxChildren.
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- ifelementNameisnull, or is not a legal element name for this format. -
IllegalArgumentException- ifparentNameisnull, 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 theDATATYPE_*constants. -
required-trueif the attribute must be present. -
defaultValue- the default value for the attribute, ornull. - Исключения:
-
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format. -
IllegalArgumentException- ifattrNameisnull. -
IllegalArgumentException- ifdataTypeis 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 theDATATYPE_*constants. -
required-trueif the attribute must be present. -
defaultValue- the default value for the attribute, ornull. -
enumeratedValues- aListofStrings containing the legal values for the attribute. - Исключения:
-
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format. -
IllegalArgumentException- ifattrNameisnull. -
IllegalArgumentException- ifdataTypeis not one of the predefined constants. -
IllegalArgumentException- ifenumeratedValuesisnull. -
IllegalArgumentException- ifenumeratedValuesdoes not contain at least one entry. -
IllegalArgumentException- ifenumeratedValuescontains an element that is not aStringor isnull.
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 theDATATYPE_*constants. -
required-trueif the attribute must be present. -
defaultValue- the default value for the attribute, ornull. -
minValue- the smallest (inclusive or exclusive depending on the value ofminInclusive) legal value for the attribute, as aString. -
maxValue- the largest (inclusive or exclusive depending on the value ofminInclusive) legal value for the attribute, as aString. -
minInclusive-trueifminValueis inclusive. -
maxInclusive-trueifmaxValueis inclusive. - Исключения:
-
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format. -
IllegalArgumentException- ifattrNameisnull. -
IllegalArgumentException- ifdataTypeis 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 theDATATYPE_*constants. -
required-trueif the attribute must be present. -
listMinLength- the smallest legal number of list items. -
listMaxLength- the largest legal number of list items. - Исключения:
-
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format. -
IllegalArgumentException- ifattrNameisnull. -
IllegalArgumentException- ifdataTypeis not one of the predefined constants. -
IllegalArgumentException- iflistMinLengthis negative or larger thanlistMaxLength.
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-trueif a default value should be present. -
defaultValue- the default value for the attribute as aboolean, ignored ifhasDefaultValueisfalse. - Исключения:
-
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format. -
IllegalArgumentException- ifattrNameisnull.
removeAttribute
protected void removeAttribute(String elementName,
String attrName) Удаляет атрибут из ранее определенного элемента. Если атрибута с заданным именем не существует в данном элементе, ничего не происходит и исключение не выбрасывается.
- Параметры:
-
elementName- the name of the element. -
attrName- the name of the attribute being removed. - Исключения:
-
IllegalArgumentException- ifelementNameisnull, 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