Класс IIOMetadata
public abstract class IIOMetadata extends Object
IIOMetadataNode, поддерживающих интерфейсы XML DOM, а также дополнительные интерфейсы для хранения нетекстовых данных и получения сведений о допустимых значениях данных. Формат таких деревьев зависит от плагина, однако плагины могут поддерживать нейтральный по отношению к плагинам формат, описанный ниже. Один плагин может поддерживать несколько форматов метаданных, имена которых можно определить, вызвав getMetadataFormatNames. Плагин также может поддерживать один специальный формат, называемый «родным», который предназначен для кодирования метаданных без потерь. Обычно этот формат создаётся специально для работы с определённым форматом файла, чтобы изображения можно было загружать и сохранять в том же формате без потери метаданных, однако он может быть менее полезен для переноса метаданных между ImageReader и ImageWriter для разных форматов изображений. Для преобразования между двумя родными форматами с минимальными потерями, допускаемыми форматами файлов изображений, необходимо использовать объект ImageTranscoder.- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected IIOMetadataController |
controller |
IIOMetadataController, который будет использоваться для задания параметров этого объекта IIOMetadata при вызове метода activateController. |
protected IIOMetadataController |
defaultController |
Объект IIOMetadataController, предлагаемый для использования в качестве контроллера этого объекта IIOMetadata. |
protected String[] |
extraMetadataFormatClassNames |
Массив имён классов, реализующих IIOMetadataFormat и представляющих форматы метаданных, отличные от стандартного и родного форматов, поддерживаемые этим плагином; инициализируется значением null и задаётся конструктором. |
protected String[] |
extraMetadataFormatNames |
Массив имён форматов, отличных от стандартного и родного форматов, поддерживаемых этим плагином; инициализируется значением null и задаётся конструктором. |
protected String |
nativeMetadataFormatClassName |
Имя класса, реализующего IIOMetadataFormat и представляющего родной формат метаданных; инициализируется значением null и задаётся конструктором. |
protected String |
nativeMetadataFormatName |
Имя родного формата метаданных для этого объекта; инициализируется значением null и задаётся конструктором. |
protected boolean |
standardFormatSupported |
Логическое значение, указывающее, поддерживает ли конкретный подкласс стандартный формат метаданных; задаётся конструктором. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт пустой объект IIOMetadata. |
|
protected |
Создаёт объект IIOMetadata с заданными именами форматов и именами классов форматов, а также с логическим значением, указывающим, поддерживается ли стандартный формат. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
activateController() |
Активирует установленный IIOMetadataController для этого объекта IIOMetadata и возвращает полученное значение. |
abstract Node |
getAsTree |
Возвращает объект Node XML DOM, представляющий корень дерева метаданных, содержащихся в этом объекте, в соответствии с соглашениями, определёнными заданным форматом метаданных. |
IIOMetadataController |
getController() |
Возвращает текущий установленный IIOMetadataController. |
IIOMetadataController |
getDefaultController() |
Возвращает IIOMetadataController по умолчанию, если он есть, независимо от текущего установленного контроллера. |
String[] |
getExtraMetadataFormatNames() |
Возвращает массив String, содержащих имена дополнительных форматов метаданных, кроме родного и стандартного форматов, распознаваемых методами getAsTree, setFromTree и mergeTree этого плагина. |
IIOMetadataFormat |
getMetadataFormat |
Возвращает объект IIOMetadataFormat с описанием заданного формата метаданных или null, если описание недоступно. |
String[] |
getMetadataFormatNames() |
Возвращает массив String, содержащих имена всех форматов метаданных, включая родной и стандартный форматы, распознаваемых методами getAsTree, setFromTree и mergeTree этого плагина. |
String |
getNativeMetadataFormatName() |
Возвращает имя «родного» формата метаданных этого плагина, который обычно позволяет кодировать и передавать без потерь метаданные, хранящиеся в формате, обрабатываемом этим плагином. |
protected IIOMetadataNode |
getStandardChromaNode() |
Возвращает объект IIOMetadataNode, представляющий информацию о цветности стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. |
protected IIOMetadataNode |
getStandardCompressionNode() |
Возвращает объект IIOMetadataNode, представляющий информацию о сжатии стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. |
protected IIOMetadataNode |
getStandardDataNode() |
Возвращает объект IIOMetadataNode, представляющий информацию о формате данных стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. |
protected IIOMetadataNode |
getStandardDimensionNode() |
Возвращает объект IIOMetadataNode, представляющий информацию о размерах стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. |
protected IIOMetadataNode |
getStandardDocumentNode() |
Возвращает объект IIOMetadataNode, представляющий информацию о документе стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. |
protected IIOMetadataNode |
getStandardTextNode() |
Возвращает объект IIOMetadataNode, представляющий текстовую информацию стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. |
protected IIOMetadataNode |
getStandardTileNode() |
Возвращает объект IIOMetadataNode, представляющий информацию о разбиении на блоки стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. |
protected IIOMetadataNode |
getStandardTransparencyNode() |
Возвращает объект IIOMetadataNode, представляющий информацию о прозрачности стандартного формата метаданных javax_imageio_1.0, или null, если такая информация недоступна. |
protected final IIOMetadataNode |
getStandardTree() |
Вспомогательный метод, возвращающий дерево IIOMetadataNode, представляющих метаданные, содержащиеся в этом объекте, в соответствии с соглашениями стандартного формата метаданных javax_imageio_1.0. |
boolean |
hasController() |
Возвращает true, если для этого объекта IIOMetadata установлен контроллер. |
abstract boolean |
isReadOnly() |
Возвращает true, если этот объект не поддерживает методы mergeTree, setFromTree и reset. |
boolean |
isStandardMetadataFormatSupported() |
Возвращает true, если методы getMetadataFormat, getAsTree, setFromTree и mergeTree поддерживают стандартный формат метаданных. |
abstract void |
mergeTree |
Изменяет внутреннее состояние этого объекта IIOMetadata на основе дерева объектов Node XML DOM, синтаксис которого определён заданным форматом метаданных. |
abstract void |
reset() |
Сбрасывает все данные, хранящиеся в этом объекте, до значений по умолчанию — обычно до состояния, в котором объект находился сразу после создания, хотя точная семантика зависит от плагина. |
void |
setController |
Задаёт IIOMetadataController, который будет использоваться для задания параметров этого объекта IIOMetadata при вызове метода activateController, заменяя любой контроллер по умолчанию. |
void |
setFromTree |
Задаёт внутреннее состояние этого объекта IIOMetadata на основе дерева объектов Node XML DOM, синтаксис которого определён заданным форматом метаданных. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого объекта Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
Подробное описание полей
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 XML DOM, представляющий корень дерева метаданных, содержащихся в этом объекте, согласно соглашениям заданного формата метаданных. Список доступных форматов метаданных можно получить с помощью метода getMetadataFormatNames.
- Параметры:
-
formatName— требуемый формат метаданных. - Возвращает:
- объект
NodeXML DOM, являющийся корнем дерева. - Исключения:
-
IllegalArgumentException— еслиformatNameравноnullили не является одним из имён, возвращаемых методомgetMetadataFormatNames. - См. также:
mergeTree
public abstract void mergeTree(String formatName, Node root) throws IIOInvalidTreeException
IIOMetadata на основе дерева объектов Node XML DOM, синтаксис которых определён заданным форматом метаданных. Предыдущее состояние изменяется только в той мере, которая необходима для добавления узлов, присутствующих в заданном дереве. Если структура или содержимое дерева недопустимы, будет выброшено исключение IIOInvalidTreeException. Поскольку правила объединения дерева или поддерева с другим деревом полностью зависят от формата, разработчики подключаемых модулей могут реализовать этот метод любым наиболее подходящим для формата способом, включая простую замену всего существующего состояния содержимым заданного дерева.
- Параметры:
-
formatName— требуемый формат метаданных. -
root— объектNodeXML DOM, являющийся корнем дерева. - Исключения:
-
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 на основе дерева объектов Node XML DOM, синтаксис которых определён заданным форматом метаданных. Предыдущее состояние отбрасывается. Если структура или содержимое дерева недопустимы, будет выброшено исключение IIOInvalidTreeException. Реализация по умолчанию вызывает reset, а затем mergeTree(formatName, root).
- Параметры:
-
formatName— требуемый формат метаданных. -
root— объектNodeXML DOM, являющийся корнем дерева. - Исключения:
-
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, 2025, 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.