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

# Interface CompilationIDAttribute

All Superinterfaces:
  `Attribute<CompilationIDAttribute>, ClassElement, ClassFileElement`

public sealed interface CompilationIDAttribute extends Attribute<CompilationIDAttribute>, ClassElement
Models the `CompilationID` attribute, which records the compilation time of the `class` file.

This attribute only appears on classes, and does not permit multiple instances in a class. It has a data dependency on the constant pool.

This attribute is not predefined in the Java SE Platform. This is a JDK-specific nonstandard attribute produced by the reference implementation of the system Java compiler, defined by the `jdk.compiler` module.

Since:
  24
See Also:
  - `Attributes.compilationId()`
  - `CharacterRangeTableAttribute`
  - `SourceIDAttribute`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Utf8Entry`
  `compilationId()`
  Returns the compilation ID.
  `static CompilationIDAttribute`
  `of(Utf8Entry id)`
  Returns a `CompilationID` attribute.
  `static CompilationIDAttribute`
  `of(String id)`
  Returns a `CompilationID` attribute.

  ### Methods declared in interface Attribute

  `attributeMapper, attributeName`
  Modifier and Type
  Method
  Description
  `AttributeMapper<CompilationIDAttribute>`
  `attributeMapper()`
  Returns the `AttributeMapper` associated with this attribute.
  `Utf8Entry`
  `attributeName()`
  Returns the name of the attribute.

- ## Method Details

  - ### compilationId

    Utf8Entry compilationId()
    Returns the compilation ID. The compilation ID is the string value of `System.currentTimeMillis()` when the `class` file is generated.
    Returns:
      the compilation ID

  - ### of

    static CompilationIDAttribute of(Utf8Entry id)
    Returns a `CompilationID` attribute.
    Parameters:
      `id` - the compilation ID
    Returns:
      a `CompilationID` attribute

  - ### of

    static CompilationIDAttribute of(String id)
    Returns a `CompilationID` attribute.
    Parameters:
      `id` - the compilation ID
    Returns:
      a `CompilationID` attribute