Enum Class ClassFile.AttributesProcessingOption
java.lang.Object
java.lang.Enum<ClassFile.AttributesProcessingOption>
java.lang.classfile.ClassFile.AttributesProcessingOption
- All Implemented Interfaces:
Serializable
,ClassFile.Option
,Comparable<ClassFile.AttributesProcessingOption>
,Constable
- Enclosing interface:
ClassFile
public static enum ClassFile.AttributesProcessingOption
extends Enum<ClassFile.AttributesProcessingOption>
implements ClassFile.Option
The option describing whether to retain or discard attributes that cannot
verify their correctness after a transformation. The default is
PASS_ALL_ATTRIBUTES
to retain all attributes as-is.
Many attributes only depend on data managed by the Class-File API, such
as constant pool entries or labels into the code
array. If they
change, the Class-File API knows their updated values and can write a
correct version by expanding the structures and recomputing the updated
indexes, known as "explosion". However, some attributes, such as type
annotations, depend on arbitrary data that may be modified during
transformations but the Class-File API does not track, such as index to
an entry in the interfaces of a
ClassFile
structure. As a result, the Class-File API cannot
verify the correctness of such information.
- Since:
- 24
- See Also:
-
Nested Class Summary
Nested classes/interfaces declared in class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionDrop attributes withAttributeMapper.AttributeStability.UNKNOWN
data dependency during transformation.Drop attributes withAttributeMapper.AttributeStability.UNSTABLE
or higher data dependency during transformation.Retain all original attributes during transformation. -
Method Summary
Modifier and TypeMethodDescriptionReturns the enum constant of this class with the specified name.static ClassFile.AttributesProcessingOption[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
PASS_ALL_ATTRIBUTES
Retain all original attributes during transformation. -
DROP_UNKNOWN_ATTRIBUTES
Drop attributes withAttributeMapper.AttributeStability.UNKNOWN
data dependency during transformation. -
DROP_UNSTABLE_ATTRIBUTES
Drop attributes withAttributeMapper.AttributeStability.UNSTABLE
or higher data dependency during transformation.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
-