ConstantValueAttribute (Java SE 23 & JDK 23)
Description: declaration: module: java.base, package: java.lang.classfile.attribute, interface: ConstantValueAttribute
Keywords: java.lang.classfile.attribute.ConstantValueAttribute interface

# Interface ConstantValueAttribute

All Superinterfaces:
  `AttributePREVIEW<ConstantValueAttributePREVIEW>`, `ClassFileElementPREVIEW`, `FieldElementPREVIEW`, `WritableElementPREVIEW<ConstantValueAttributePREVIEW>`

public sealed interface ConstantValueAttribute extends AttributePREVIEW<ConstantValueAttributePREVIEW>, FieldElementPREVIEW
`ConstantValueAttribute` is a preview API of the Java platform.
Programs can only use `ConstantValueAttribute` when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Models the `ConstantValue` attribute 4.7.2, which can appear on fields and indicates that the field's value is a constant. Delivered as a `FieldElement`PREVIEW when traversing the elements of a `FieldModel`PREVIEW.

The attribute does not permit multiple instances in a given location. Subsequent occurrence of the attribute takes precedence during the attributed element build or transformation.

Since:
  22

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ConstantValueEntryPREVIEW`
  `constant()`
  Returns the constant value of the field.
  `static ConstantValueAttributePREVIEW`
  `of(ConstantValueEntryPREVIEW value)`
  Returns a `ConstantValue` attribute.
  `static ConstantValueAttributePREVIEW`
  `of(ConstantDesc value)`
  Returns a `ConstantValue` attribute.

  ### Methods declared in interface java.lang.classfile.AttributePREVIEW

  `attributeMapper, attributeName`

  ### Methods declared in interface java.lang.classfile.WritableElementPREVIEW

  `writeTo`

- ## Method Details

  - ### constant

    ConstantValueEntryPREVIEW constant()
    Returns the constant value of the field.
    Returns:
      the constant value of the field

  - ### of

    static ConstantValueAttributePREVIEW of(ConstantValueEntryPREVIEW value)
    Returns a `ConstantValue` attribute.
    Parameters:
      `value` - the constant value
    Returns:
      a `ConstantValue` attribute

  - ### of

    static ConstantValueAttributePREVIEW of(ConstantDesc value)
    Returns a `ConstantValue` attribute.
    Parameters:
      `value` - the constant value
    Returns:
      a `ConstantValue` attribute