# Interface SourceIDAttribute

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

public sealed interface SourceIDAttribute extends Attribute<SourceIDAttribute>, ClassElement
Models the `SourceID` attribute, which records the last modified time of the source file from which this `class` file was compiled.

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.sourceId()`
  - `CompilationIDAttribute`
  - `CharacterRangeTableAttribute`

## Method Summary

Modifier and Type
Method
Description
`static SourceIDAttribute`
`of(Utf8Entry sourceId)`
Returns a `SourceID` attribute.
`static SourceIDAttribute`
`of(String sourceId)`
Returns a `SourceID` attribute.
`Utf8Entry`
`sourceId()`
Returns the source id.

### Methods declared in interface Attribute

`attributeMapper, attributeName`

## Method Details

### sourceId

Utf8Entry sourceId()
Returns the source id. The source id is the last modified time of the source file (as reported by the file system, in milliseconds) when this `class` file is compiled.

Returns:
  the source id

### of

static SourceIDAttribute of(Utf8Entry sourceId)
Returns a `SourceID` attribute.

Parameters:
  `sourceId` - the source id
Returns:
  a `SourceID` attribute

### of

static SourceIDAttribute of(String sourceId)
Returns a `SourceID` attribute.

Parameters:
  `sourceId` - the source id
Returns:
  a `SourceID` attribute