Spec-Zone.ru › OpenJDK 27

Класс CustomAttribute<T extends CustomAttribute<T>>

java.lang.Object
java.lang.classfile.CustomAttribute<T>
Параметры типа:
T - тип пользовательского атрибута
Все реализуемые интерфейсы:
Attribute<T>, ClassElement, ClassFileElement, CodeElement, FieldElement, MethodElement
public abstract non-sealed class CustomAttribute<T extends CustomAttribute<T>> extends Object implements Attribute<T>, CodeElement, ClassElement, MethodElement, FieldElement
Моделирует пользовательский атрибут в файле class. API-модели пользовательских атрибутов должны расширять этот класс. Для пользовательского атрибута также должен быть определён AttributeMapper, который будет возвращаться методом attributeMapper() и зарегистрирован в ClassFile.AttributeMapperOption, чтобы пользовательские атрибуты можно было прочитать.

Методы доступа к пользовательским атрибутам, прочитанным из файлов class, могут выбрасывать IllegalArgumentException, если модель атрибута вычисляется лениво и при вычислении обнаруживается некорректный формат файла class для атрибута.

С версии:
24
См. также:
  • java.lang.classfile.attribute

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

CustomAttribute(AttributeMapper<T> mapper)
Модификатор Конструктор Описание
protected
Конструктор для вызова из подклассов.

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

Модификатор и тип Метод Описание
final AttributeMapper<T> attributeMapper()
Возвращает AttributeMapper, связанный с этим атрибутом.
Utf8Entry attributeName()
Возвращает имя атрибута.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарел, подлежит удалению: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать, пока он не будет разбужен, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечёт заданный промежуток реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечёт заданный промежуток реального времени.

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

CustomAttribute

protected CustomAttribute(AttributeMapper<T> mapper)
Конструктор для вызова из подклассов.
Параметры:
mapper - сопоставитель атрибутов

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

attributeMapper

public final AttributeMapper<T> attributeMapper()
Описание скопировано из интерфейса: Attribute
Возвращает AttributeMapper, связанный с этим атрибутом.
Определён в:
attributeMapper в интерфейсе Attribute<T extends CustomAttribute<T>>
Возвращает:
AttributeMapper, связанный с этим атрибутом

attributeName

public Utf8Entry attributeName()
Возвращает имя атрибута. Строковое значение имени эквивалентно значению attributeMapper().name().

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

Определён в:
attributeName в интерфейсе Attribute<T extends CustomAttribute<T>>
Требования к реализации:
Реализация по умолчанию возвращает Utf8Entry, пригодную только для записи и, возможно, непривязанную. Подклассы, представляющие атрибуты, прочитанные из файлов class, должны переопределять этот метод.
Возвращает:
имя атрибута
См. также:
  • AttributeMapper.readAttribute(AttributedElement, ClassReader, int)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API