# 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