Spec-Zone.ru › OpenJDK 24

Перечисление AttributeMapper.AttributeStability

java.lang.Object
java.lang.Enum<AttributeMapper.AttributeStability>
java.lang.classfile.AttributeMapper.AttributeStability
Все реализуемые интерфейсы:
Serializable, Comparable<AttributeMapper.AttributeStability>, Constable
Вложенный интерфейс:
AttributeMapper<A extends Attribute<A>>
public static enum AttributeMapper.AttributeStability extends Enum<AttributeMapper.AttributeStability>
Указывает зависимость данных от представления атрибута в файле class. Может ли атрибут быть скопирован целиком по своему бинарному представлению в новый файл class, зависит от того, ссылаются ли его данные на другие части содержащего его файла class.
Примечание API:
Эта зависимость называется «стабильностью», поскольку она указывает условия, при которых атрибут файла class подходит для копирования целиком в другой файл class.
С момента:
24
См. также:
  • AttributeMapper.stability()

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.lang.Enum

Enum.EnumDesc<E extends Enum<E>>

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

Константа перечисления Описание
CP_REFS
Помимо автономных данных, атрибут ссылается на пул констант, включая атрибут BootstrapMethods, содержащего его файла class.
LABELS
Помимо автономных данных и ссылок на пул констант, атрибут ссылается на позиции в массиве code атрибута Code.
STATELESS
Атрибут содержит только автономные данные и не ссылается на другие части содержащего его файла class, кроме имени атрибута.
UNKNOWN
Атрибут полностью неизвестен.
UNSTABLE
Атрибут ссылается на структуры, не управляемые библиотекой (списки переменных типа и т. д.).

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

Модификатор и тип Метод Описание
static AttributeMapper.AttributeStability valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static AttributeMapper.AttributeStability[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

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

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

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

getClass, notify, notifyAll, wait, wait, wait

Подробное описание констант перечисления

STATELESS

public static final AttributeMapper.AttributeStability STATELESS
Атрибут содержит только автономные данные и не ссылается на другие части содержащего его файла class, кроме имени атрибута. Таким образом, его содержимое всегда можно скопировать целиком в другой файл class.

Например, битовая маска — это автономные данные.

CP_REFS

public static final AttributeMapper.AttributeStability CP_REFS
Помимо автономных данных, атрибут ссылается на пул констант, включая атрибут BootstrapMethods, содержащего его файла class. Таким образом, его можно скопировать целиком, когда целевой файл class расширяет свой пул констант из пула констант исходного файла class. Он должен быть расширен для перевода ссылок на пул констант и перезаписан, если индексы пула констант не совместимы.

Например, Utf8Entry — ссылка на пул констант.

См. также:
  • ConstantPoolBuilder.of(ClassModel)
  • ClassFile.ConstantPoolSharingOption

LABELS

public static final AttributeMapper.AttributeStability LABELS
Помимо автономных данных и ссылок на пул констант, атрибут ссылается на позиции в массиве code атрибута Code. Таким образом, его можно скопировать целиком, когда массив code не изменён, что требует, чтобы целевой файл class расширял свой пул констант из пула констант исходного файла class. Он должен быть расширен для перевода меток Label или ссылок на пул констант и перезаписан, если массив code изменён, включая случаи, когда индексы пула констант несовместимы.

Например, значение bci, моделируемое меткой Label, — это ссылка на позицию в массиве code.

UNSTABLE

public static final AttributeMapper.AttributeStability UNSTABLE
Атрибут ссылается на структуры, не управляемые библиотекой (списки переменных типа и т. д.). В результате, даже при расширении атрибута эти ссылки могут быть неверно переведены, и результаты перезаписи могут быть некорректными.

Если атрибут читается из файла class, ClassFile.AttributesProcessingOption определяет, сохранить или удалить атрибут при преобразовании.

См. также:
  • ClassFile.AttributesProcessingOption.DROP_UNSTABLE_ATTRIBUTES

UNKNOWN

public static final AttributeMapper.AttributeStability UNKNOWN
Атрибут полностью неизвестен. В результате расширение и перезапись невозможны, и любые различия между целевым файлом class и его содержащим файлом class могут сделать атрибут некорректным.

ClassFile.AttributesProcessingOption определяет, сохранить или удалить атрибут при преобразовании.

См. также:
  • UnknownAttribute
  • ClassFile.AttributesProcessingOption.DROP_UNSTABLE_ATTRIBUTES
  • ClassFile.AttributesProcessingOption.DROP_UNKNOWN_ATTRIBUTES

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

values

public static AttributeMapper.AttributeStability[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.
Возвращает:
массив, содержащий константы этого класса перечисления в порядке их объявления

valueOf

public static AttributeMapper.AttributeStability valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем. Строка должна точно совпадать с идентификатором, используемым для объявления константы перечисления в этом классе. (Дополнительные пробелы не допускаются.)
Параметры:
name - имя константы перечисления, которую нужно вернуть.
Возвращает:
константу перечисления с указанным именем
Исключения:
IllegalArgumentException - если в этом классе перечисления нет константы с указанным именем
NullPointerException - если аргумент равен null

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/AttributeMapper.AttributeStability.html

Spec-Zone.ru

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