# Interface SourceDebugExtensionAttribute

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

public sealed interface SourceDebugExtensionAttribute extends Attribute<SourceDebugExtensionAttribute>, ClassElement
Models the `SourceDebugExtension` attribute (JVMS 4.7.11), which stores arbitrary modified UTF-8 data.

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

The attribute was introduced in the Java SE Platform version 5.0, major version 49.

See Java Virtual Machine Specification:
  4.7.11 The `SourceDebugExtension` Attribute
Since:
  24
See Also:
  - `Attributes.sourceDebugExtension()`

## Method Summary

Modifier and Type
Method
Description
`byte[]`
`contents()`
Returns the debug extension payload.
`static SourceDebugExtensionAttribute`
`of(byte[] contents)`
Returns a `SourceDebugExtension` attribute.

### Methods declared in interface Attribute

`attributeMapper, attributeName`

## Method Details

### contents

byte[] contents()
Returns the debug extension payload. The payload may denote a string longer than that which can be represented with a `String`.

Returns:
  the debug extension payload

### of

static SourceDebugExtensionAttribute of(byte[] contents)
Returns a `SourceDebugExtension` attribute.

Parameters:
  `contents` - the extension contents
Returns:
  a `SourceDebugExtension` attribute