Класс IIOMetadata
public abstract class IIOMetadata extends Object
IIOMetadataNode объектов, поддерживающих интерфейсы XML DOM, а также дополнительные интерфейсы для хранения нетекстовых данных и извлечения информации о допустимых значениях данных. Формат таких деревьев зависит от плагина, но плагины могут выбрать поддержку нейтрального для плагина формата, описанного ниже. Один плагин может поддерживать несколько форматов метаданных, имена которых могут быть определены вызовом getMetadataFormatNames. Плагин также может поддерживать один специальный формат, называемый "родным" форматом, который предназначен для кодирования метаданных без потерь. Этот формат обычно будет разработан специально для работы со специфическим форматом файла, чтобы изображения могли загружаться и сохраняться в том же формате без потерь метаданных, но может быть менее полезен для передачи метаданных между ImageReader и ImageWriter для различных форматов изображений. Для преобразования между двумя родными форматами без потерь, насколько это позволит формат файла изображения, должен использоваться объект ImageTranscoder.- См. также:
-
ImageReader.getImageMetadata(int)ImageReader.getStreamMetadata()ImageReader.readAll(int, javax.imageio.ImageReadParam)ImageWriter.getDefaultStreamMetadata(javax.imageio.ImageWriteParam)ImageWriter.getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam)ImageWriter.write(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam)ImageTranscoder.convertImageMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam)ImageTranscoder.convertStreamMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageWriteParam)IIOImageImageTranscoder
Краткое описание полей
| Modifier and Type | Field | Description |
|---|---|---|
protected IIOMetadataController |
controller |
The IIOMetadataController that will be used to provide settings for this IIOMetadata object when the activateController method is called. |
protected IIOMetadataController |
defaultController |
An IIOMetadataController that is suggested for use as the controller for this IIOMetadata object. |
protected String[] |
extraMetadataFormatClassNames |
An array of names of classes implementing IIOMetadataFormat and representing the metadata formats, other than the standard and native formats, that are supported by this plug-in, initialized to null and set via the constructor. |
protected String[] |
extraMetadataFormatNames |
An array of names of formats, other than the standard and native formats, that are supported by this plug-in, initialized to null and set via the constructor. |
protected String |
nativeMetadataFormatClassName |
The name of the class implementing IIOMetadataFormat and representing the native metadata format, initialized to null and set via the constructor. |
protected String |
nativeMetadataFormatName |
The name of the native metadata format for this object, initialized to null and set via the constructor. |
protected boolean |
standardFormatSupported |
A boolean indicating whether the concrete subclass supports the standard metadata format, set via the constructor. |
Краткое описание конструкторов
| Modifier | Constructor | Description |
|---|---|---|
protected |
Constructs an empty IIOMetadata object. |
|
protected |
Constructs an IIOMetadata object with the given format names and format class names, as well as a boolean indicating whether the standard format is supported. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
activateController() |
Activates the installed IIOMetadataController for this IIOMetadata object and returns the resulting value. |
abstract Node |
getAsTree |
Returns an XML DOM Node object that represents the root of a tree of metadata contained within this object according to the conventions defined by a given metadata format. |
IIOMetadataController |
getController() |
Returns whatever IIOMetadataController is currently installed. |
IIOMetadataController |
getDefaultController() |
Returns the default IIOMetadataController, if there is one, regardless of the currently installed controller. |
String[] |
getExtraMetadataFormatNames() |
Returns an array of Strings containing the names of additional metadata formats, other than the native and standard formats, recognized by this plug-in's getAsTree, setFromTree, and mergeTree methods. |
IIOMetadataFormat |
getMetadataFormat |
Returns an IIOMetadataFormat object describing the given metadata format, or null if no description is available. |
String[] |
getMetadataFormatNames() |
Returns an array of Strings containing the names of all metadata formats, including the native and standard formats, recognized by this plug-in's getAsTree, setFromTree, and mergeTree methods. |
String |
getNativeMetadataFormatName() |
Returns the name of the "native" metadata format for this plug-in, which typically allows for lossless encoding and transmission of the metadata stored in the format handled by this plug-in. |
protected IIOMetadataNode |
getStandardChromaNode() |
Returns an IIOMetadataNode representing the chroma information of the standard javax_imageio_1.0 metadata format, or null if no such information is available. |
protected IIOMetadataNode |
getStandardCompressionNode() |
Returns an IIOMetadataNode representing the compression information of the standard javax_imageio_1.0 metadata format, or null if no such information is available. |
protected IIOMetadataNode |
getStandardDataNode() |
Returns an IIOMetadataNode representing the data format information of the standard javax_imageio_1.0 metadata format, or null if no such information is available. |
protected IIOMetadataNode |
getStandardDimensionNode() |
Returns an IIOMetadataNode representing the dimension information of the standard javax_imageio_1.0 metadata format, or null if no such information is available. |
protected IIOMetadataNode |
getStandardDocumentNode() |
Returns an IIOMetadataNode representing the document information of the standard javax_imageio_1.0 metadata format, or null if no such information is available. |
protected IIOMetadataNode |
getStandardTextNode() |
Returns an IIOMetadataNode representing the textual information of the standard javax_imageio_1.0 metadata format, or null if no such information is available. |
protected IIOMetadataNode |
getStandardTileNode() |
Returns an IIOMetadataNode representing the tiling information of the standard javax_imageio_1.0 metadata format, or null if no such information is available. |
protected IIOMetadataNode |
getStandardTransparencyNode() |
Returns an IIOMetadataNode representing the transparency information of the standard javax_imageio_1.0 metadata format, or null if no such information is available. |
protected final IIOMetadataNode |
getStandardTree() |
A utility method to return a tree of IIOMetadataNodes representing the metadata contained within this object according to the conventions of the standard javax_imageio_1.0 metadata format. |
boolean |
hasController() |
Returns true if there is a controller installed for this IIOMetadata object. |
abstract boolean |
isReadOnly() |
Returns true if this object does not support the mergeTree, setFromTree, and reset methods. |
boolean |
isStandardMetadataFormatSupported() |
Returns true if the standard metadata format is supported by getMetadataFormat, getAsTree, setFromTree, and mergeTree. |
abstract void |
mergeTree |
Alters the internal state of this IIOMetadata object from a tree of XML DOM Nodes whose syntax is defined by the given metadata format. |
abstract void |
reset() |
Resets all the data stored in this object to default values, usually to the state this object was in immediately after construction, though the precise semantics are plug-in specific. |
void |
setController |
Sets the IIOMetadataController to be used to provide settings for this IIOMetadata object when the activateController method is called, overriding any default controller. |
void |
setFromTree |
Sets the internal state of this IIOMetadata object from a tree of XML DOM Nodes whose syntax is defined by the given metadata format. |
Подробное описание полей
standardFormatSupported
protected boolean standardFormatSupported
nativeMetadataFormatName
protected String nativeMetadataFormatName
null и устанавливается через конструктор.nativeMetadataFormatClassName
protected String nativeMetadataFormatClassName
IIOMetadataFormat и представляющего нативный формат метаданных, инициализируется значением null и устанавливается через конструктор.extraMetadataFormatNames
protected String[] extraMetadataFormatNames
null и устанавливается через конструктор.extraMetadataFormatClassNames
protected String[] extraMetadataFormatClassNames
IIOMetadataFormat и представляющих форматы метаданных, помимо стандартного и нативного, поддерживаемых этим плагином, инициализируется значением null и устанавливается через конструктор.defaultController
protected IIOMetadataController defaultController
IIOMetadataController для использования в качестве контроллера для этого объекта IIOMetadata. Он может быть получен с помощью getDefaultController. Для установки контроллера по умолчанию вызовите setController(getDefaultController()). Эта переменная экземпляра должна устанавливаться подклассами, которые выбирают предоставление собственного контроллера по умолчанию, обычно графического интерфейса для настройки параметров.- См. также:
controller
protected IIOMetadataController controller
IIOMetadataController , который будет использоваться для предоставления настроек для этого объекта IIOMetadata при вызове метода activateController. Это значение переопределяет любой контроллер по умолчанию, даже когда null.Подробное описание конструкторов
IIOMetadata
protected IIOMetadata()
IIOMetadata. Подкласс отвечает за поставку значений для всех защищенных переменных экземпляра, которые позволят любым не переопределённым реализациям по умолчанию методов удовлетворить их контрактам. Например, extraMetadataFormatNames не должно иметь длину 0.IIOMetadata
protected IIOMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName, String nativeMetadataFormatClassName, String[] extraMetadataFormatNames, String[] extraMetadataFormatClassNames)
IIOMetadata с заданными именами форматов и именами классов форматов, а также булевым значением, указывающим, поддерживается ли стандартный формат. Этот конструктор не пытается проверить имена классов на валидность. Неверные имена классов могут вызвать исключения в последующих вызовах getMetadataFormat.
- Параметры:
-
standardMetadataFormatSupported-true, если этот объект может возвращать или принимать дерево DOM, используя стандартный формат метаданных. -
nativeMetadataFormatName- имя нативного формата метаданных в видеString, илиnull, если нет нативного формата. -
nativeMetadataFormatClassName- имя класса нативного формата метаданных, илиnull, если нет нативного формата. -
extraMetadataFormatNames- массивString, указывающих дополнительные поддерживаемые этим объектом форматы, илиnull, если их нет. -
extraMetadataFormatClassNames- массивString, указывающих имена классов любых дополнительных форматов, поддерживаемых этим объектом, илиnull, если их нет. - Исключения:
-
IllegalArgumentException- еслиextraMetadataFormatNamesимеет длину 0. -
IllegalArgumentException- еслиextraMetadataFormatNamesиextraMetadataFormatClassNamesне обаnull, или имеют разную длину.
Подробное описание методов
isStandardMetadataFormatSupported
public boolean isStandardMetadataFormatSupported()
true, если стандартный формат метаданных поддерживается getMetadataFormat, getAsTree, setFromTree, и mergeTree. Реализация по умолчанию возвращает значение переменной экземпляра standardFormatSupported.
- Возвращает:
-
true, если стандартный формат метаданных поддерживается. - См. также:
isReadOnly
public abstract boolean isReadOnly()
true, если этот объект не поддерживает методы mergeTree, setFromTree, и reset. - Возвращает:
- true, если этот объект
IIOMetadataне может быть изменён.
getNativeMetadataFormatName
public String getNativeMetadataFormatName()
null. Структура и содержимое "нативного" формата метаданных определяются плагином, создавшим этот объект IIOMetadata. Плагины для простых форматов обычно создают фиктивный узел для корня, а затем ряд дочерних узлов, представляющих отдельные теги, куски или пары "ключ/значение". Плагин может выбрать, документировать ли свой нативный формат или нет.
Реализация по умолчанию возвращает значение переменной экземпляра nativeMetadataFormatName.
- Возвращает:
- имя нативного формата или
null. - См. также:
getExtraMetadataFormatNames
public String[] getExtraMetadataFormatNames()
String , содержащий имена дополнительных форматов метаданных, помимо нативного и стандартного, распознаваемых методом getAsTree, setFromTree, и mergeTree этого плагина. Если таких дополнительных форматов нет, возвращается null. Реализация по умолчанию возвращает копию переменной экземпляра extraMetadataFormatNames.
- Возвращает:
- массив
Stringс длиной не менее 1, илиnull. - См. также:
getMetadataFormatNames
public String[] getMetadataFormatNames()
String , содержащий имена всех форматов метаданных, включая нативный и стандартный, распознаваемых методами getAsTree, setFromTree, и mergeTree этого плагина. Если таких форматов нет, возвращается null. Реализация по умолчанию вызывает getNativeMetadataFormatName, isStandardMetadataFormatSupported, и getExtraMetadataFormatNames и возвращает объединённые результаты.
- Возвращает:
- массив
String. - См. также:
getMetadataFormat
public IIOMetadataFormat getMetadataFormat(String formatName)
IIOMetadataFormat, описывающий заданный формат метаданных, или null, если описание недоступно. Указанное имя должно быть одним из тех, которые возвращаются getMetadataFormatNames (т.е., либо собственное имя формата, стандартное имя формата, или одно из тех, которые возвращаются getExtraMetadataFormatNames). Реализация по умолчанию проверяет имя на соответствие глобальному стандартному имени формата метаданных и возвращает этот формат, если он поддерживается. В противном случае, он проверяет соответствие собственным именам форматов, а затем любым дополнительным именам форматов. Если совпадение найдено, он извлекает имя класса IIOMetadataFormat из nativeMetadataFormatClassName или extraMetadataFormatClassNames, в зависимости от ситуации, и создает экземпляр этого класса, используя его метод getInstance.
- Параметры:
-
formatName- желаемый формат метаданных. - Возвращает:
- объект
IIOMetadataFormat. - Исключения:
-
IllegalArgumentException- еслиformatNameявляетсяnullили не является одним из имен, распознаваемых подключаемым модулем. -
IllegalStateException- если класс, соответствующий имени формата, не может быть загружен.
getAsTree
public abstract Node getAsTree(String formatName)
Node, представляющий корень дерева метаданных, содержащихся в этом объекте, в соответствии с соглашениями, определенными заданным форматом метаданных. Имена доступных форматов метаданных можно запросить с помощью метода getMetadataFormatNames.
- Параметры:
-
formatName- желаемый формат метаданных. - Возвращает:
- объект XML DOM
Node, образующий корень дерева. - Исключения:
-
IllegalArgumentException- еслиformatNameявляетсяnullили не является одним из имен, возвращаемыхgetMetadataFormatNames. - См. также:
mergeTree
public abstract void mergeTree(String formatName, Node root) throws IIOInvalidTreeException
IIOMetadata из дерева XML DOM Node, синтаксис которого определяется заданным форматом метаданных. Предыдущее состояние изменяется только по мере необходимости для размещения узлов, присутствующих в данном дереве. Если структура или содержимое дерева неверны, будет выброшено исключение IIOInvalidTreeException. Поскольку семантика того, как дерево или поддерево могут быть объединены с другим деревом, полностью специфична для формата, авторы подключаемых модулей могут реализовать этот метод любым способом, наиболее подходящим для формата, включая просто замену всего существующего состояния содержимым данного дерева.
- Параметры:
-
formatName- желаемый формат метаданных. -
root- объект XML DOMNode, образующий корень дерева. - Исключения:
-
IllegalStateException- если этот объект является доступным только для чтения. -
IllegalArgumentException- еслиformatNameявляетсяnullили не является одним из имен, возвращаемыхgetMetadataFormatNames. -
IllegalArgumentException- еслиrootявляетсяnull. -
IIOInvalidTreeException- если дерево не может быть успешно разобран с использованием правил данного формата. - См. также:
getStandardChromaNode
protected IIOMetadataNode getStandardChromaNode()
IIOMetadataNode, представляющий информацию о цветовом оформлении стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. Этот метод предназначен для вызова служебной подпрограммой getStandardTree. Реализация по умолчанию возвращает null.
Подклассы должны переопределить этот метод, чтобы создать соответствующее поддерево, если они хотят поддерживать стандартный формат метаданных.
- Возвращает:
IIOMetadataNode, илиnull.- См. также:
getStandardCompressionNode
protected IIOMetadataNode getStandardCompressionNode()
IIOMetadataNode, представляющий информацию о сжатии стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. Этот метод предназначен для вызова служебной подпрограммой getStandardTree. Реализация по умолчанию возвращает null.
Подклассы должны переопределить этот метод, чтобы создать соответствующее поддерево, если они хотят поддерживать стандартный формат метаданных.
- Возвращает:
IIOMetadataNode, илиnull.- См. также:
getStandardDataNode
protected IIOMetadataNode getStandardDataNode()
IIOMetadataNode, представляющий информацию о формате данных стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. Этот метод предназначен для вызова служебной подпрограммой getStandardTree. Реализация по умолчанию возвращает null.
Подклассы должны переопределить этот метод, чтобы создать соответствующее поддерево, если они хотят поддерживать стандартный формат метаданных.
- Возвращает:
IIOMetadataNode, илиnull.- См. также:
getStandardDimensionNode
protected IIOMetadataNode getStandardDimensionNode()
IIOMetadataNode, представляющий информацию о размерах стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. Этот метод предназначен для вызова служебной подпрограммой getStandardTree. Реализация по умолчанию возвращает null.
Подклассы должны переопределить этот метод, чтобы создать соответствующее поддерево, если они хотят поддерживать стандартный формат метаданных.
- Возвращает:
IIOMetadataNode, илиnull.- См. также:
getStandardDocumentNode
protected IIOMetadataNode getStandardDocumentNode()
IIOMetadataNode, представляющий информацию о документе стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. Этот метод предназначен для вызова служебной подпрограммой getStandardTree. Реализация по умолчанию возвращает null.
Подклассы должны переопределить этот метод, чтобы создать соответствующее поддерево, если они хотят поддерживать стандартный формат метаданных.
- Возвращает:
IIOMetadataNode, илиnull.- См. также:
getStandardTextNode
protected IIOMetadataNode getStandardTextNode()
IIOMetadataNode, представляющий текстовую информацию стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. Этот метод предназначен для вызова служебной подпрограммой getStandardTree. Реализация по умолчанию возвращает null.
Подклассы должны переопределить этот метод, чтобы создать соответствующее поддерево, если они хотят поддерживать стандартный формат метаданных.
- Возвращает:
IIOMetadataNode, илиnull.- См. также:
getStandardTileNode
protected IIOMetadataNode getStandardTileNode()
IIOMetadataNode, представляющий информацию о мозаике стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. Этот метод предназначен для вызова служебной подпрограммой getStandardTree. Реализация по умолчанию возвращает null.
Подклассы должны переопределить этот метод, чтобы создать соответствующее поддерево, если они хотят поддерживать стандартный формат метаданных.
- Возвращает:
IIOMetadataNode, илиnull.- См. также:
getStandardTransparencyNode
protected IIOMetadataNode getStandardTransparencyNode()
IIOMetadataNode, представляющий информацию о прозрачности стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. Этот метод предназначен для вызова служебной подпрограммой getStandardTree. Реализация по умолчанию возвращает null.
Подклассы должны переопределить этот метод, чтобы создать соответствующее поддерево, если они хотят поддерживать стандартный формат метаданных.
- Возвращает:
IIOMetadataNode, илиnull.
getStandardTree
protected final IIOMetadataNode getStandardTree()
IIOMetadataNode, представляющего метаданные, содержащиеся в этом объекте, в соответствии с соглашениями стандартного формата метаданных javax_imageio_1.0. Этот метод вызывает различные методы getStandard*Node для предоставления каждого из поддеревьев, укорененных в дочерних узлах корневого узла. Если любой из этих методов возвращает null, соответствующее поддерево будет опущено. Если все они возвращают null, будет возвращено дерево, состоящее из одного корневого узла.
- Возвращает:
IIOMetadataNode, представляющий корень дерева метаданных в форматеjavax_imageio_1.0.- См. также:
setFromTree
public void setFromTree(String formatName, Node root) throws IIOInvalidTreeException
IIOMetadata из дерева XML DOM Node с синтаксисом, определенным заданным форматом метаданных. Предыдущее состояние отбрасывается. Если структура или содержимое дерева неверны, будет выброшено IIOInvalidTreeException. Реализация по умолчанию вызывает reset за которым следует mergeTree(formatName, root).
- Параметры:
-
formatName- требуемый формат метаданных. -
root- объект XML DOMNode, образующий корень дерева. - Исключение:
-
IllegalStateException- если этот объект только для чтения. -
IllegalArgumentException- еслиformatNameимеет значениеnullили не является одним из имен, возвращаемыхgetMetadataFormatNames. -
IllegalArgumentException- еслиrootимеет значениеnull. -
IIOInvalidTreeException- если дерево не может быть успешно проанализировано по правилам заданного формата. - См. также:
reset
public abstract void reset()
- Исключение:
-
IllegalStateException- если этот объект только для чтения. - См. также:
setController
public void setController(IIOMetadataController controller)
IIOMetadataController для использования для предоставления параметров для этого объекта IIOMetadata при вызове метода activateController, переопределяя любой контроллер по умолчанию. Если аргумент имеет значение null, контроллер не будет использоваться, включая любой по умолчанию. Для восстановления значения по умолчанию используйте setController(getDefaultController()). Реализация по умолчанию устанавливает переменную-член controller в переданное значение.
- Параметры:
-
controller- соответствующийIIOMetadataController, илиnull. - См. также:
getController
public IIOMetadataController getController()
IIOMetadataController. Это может быть значение по умолчанию, если оно есть, null, или аргумент последнего вызова setController. Реализация по умолчанию возвращает значение переменной-члена controller.
- Возвращает:
- в настоящее время установленный
IIOMetadataController, илиnull. - См. также:
getDefaultController
public IIOMetadataController getDefaultController()
IIOMetadataController, если он существует, независимо от текущего установленного контроллера. Если контроллер по умолчанию не существует, возвращает null. Реализация по умолчанию возвращает значение переменной-члена defaultController.
- Возвращает:
- контроллер по умолчанию
IIOMetadataController, илиnull. - См. также:
hasController
public boolean hasController()
true , если для этого объекта IIOMetadata установлен контроллер. Реализация по умолчанию возвращает true если метод getController возвращает значение отличное от null.
- Возвращает:
-
true, если контроллер установлен. - См. также:
activateController
public boolean activateController()
IIOMetadataController для этого объекта IIOMetadata и возвращает полученное значение. Когда этот метод возвращает true, все значения для этого объекта IIOMetadata будут готовы для следующей операции записи. Если возвращается false, никакие настройки в этом объекте не будут изменены (т.е., пользователь отменил операцию). Обычно контроллер представляет собой графический интерфейс пользователя, предоставляющий пользовательский интерфейс для подкласса IIOMetadata для конкретного плагина. Однако контроллеры не обязательно должны быть графическими интерфейсами пользователя.
Реализация по умолчанию вызывает getController и выполняет вызов activate на возвращённом объекте, если hasController возвращает true.
- Возвращает:
-
trueесли контроллер завершил работу нормально. - Исключение:
-
IllegalStateException- если в настоящее время контроллер не установлен. - См. также:
© 1993, 2021, 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/17/docs/api/java.desktop/javax/imageio/metadata/IIOMetadata.html