Класс перечисления 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
- См. также:
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в классе Enum
Enum.EnumDesc<E>
Краткое описание констант перечисления
| Константа перечисления | Описание |
|---|---|
CP_REFS |
Помимо автономных данных, атрибут ссылается на пул констант, включая атрибут BootstrapMethods, содержащего его файла class. |
LABELS |
Помимо автономных данных и ссылок на пул констант, атрибут ссылается на позиции в массиве code атрибута Code. |
STATELESS |
Атрибут содержит только автономные данные и не ссылается на другие части содержащего его файла class, кроме имени атрибута. |
UNKNOWN |
Атрибут полностью неизвестен. |
UNSTABLE |
Атрибут ссылается на структуры, не управляемые библиотекой (списки переменных типов и т. д.). |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static AttributeMapper.AttributeStability |
valueOf |
Возвращает константу перечисления этого класса с указанным именем. |
static AttributeMapper.AttributeStability[] |
values() |
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления. |
Подробное описание констант перечисления
STATELESS
public static final AttributeMapper.AttributeStability STATELESS
class, кроме имени атрибута. Поэтому его содержимое всегда можно массово скопировать в другой файл class. Например, битовая маска является автономными данными.
CP_REFS
public static final AttributeMapper.AttributeStability CP_REFS
BootstrapMethods, содержащего его файла class. Поэтому его можно массово скопировать, если целевой файл class расширяет пул констант исходного class. Если индексы пула констант несовместимы, атрибут необходимо развернуть, чтобы преобразовать ссылки на пул констант, и переписать. Например, Utf8Entry — это ссылка на пул констант.
- См. также:
LABELS
public static final AttributeMapper.AttributeStability LABELS
code атрибута Code. Поэтому его можно массово скопировать, если массив code не изменился; для этого целевой файл class должен расширять пул констант исходного class. Если массив code изменился, атрибут необходимо развернуть, чтобы преобразовать Label или ссылки на пул констант, и переписать; это также необходимо при несовместимости индексов пула констант. Например, значение bci, представленное объектом Label, является ссылкой на позицию в массиве code.
UNSTABLE
public static final AttributeMapper.AttributeStability UNSTABLE
Если атрибут считывается из файла class, ClassFile.AttributesProcessingOption определяет, следует ли сохранить или удалить атрибут при преобразовании.
- См. также:
UNKNOWN
public static final AttributeMapper.AttributeStability UNKNOWN
class и содержащим его файлом class могут привести к некорректности атрибута. ClassFile.AttributesProcessingOption определяет, следует ли сохранить или удалить атрибут при преобразовании.
- См. также:
Подробное описание методов
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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/AttributeMapper.AttributeStability.html