# 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 java.lang.classfile.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