# Interface ClassFile.AttributeMapperOption

All Superinterfaces:
  `ClassFile.Option`

Enclosing interface:
  `ClassFile`

public static sealed interface ClassFile.AttributeMapperOption extends ClassFile.Option
The option describing user-defined attributes for parsing `class` files. The default does not recognize any user-defined attribute.

An `AttributeMapperOption` contains a function that maps an attribute name to a user attribute mapper. The function may return `null` if it does not recognize an attribute name. The returned mapper must ensure its `name()` is equivalent to the `stringValue()` of the input `Utf8Entry`.

The mapping function in this attribute has lower priority than mappers in `Attributes`, so it is impossible to override built-in attributes with this option. If an attribute is not recognized by any mapper in `Attributes` and is not assigned a mapper, or recognized, by this option, that attribute will be modeled by an `UnknownAttribute`.

Since:
  24
See Also:
  - `AttributeMapper`
  - `CustomAttribute`

## Method Summary

Modifier and Type
Method
Description
`Function<Utf8Entry, AttributeMapper<?>>`
`attributeMapper()`
Returns the function mapping attribute names to attribute mappers.
`static ClassFile.AttributeMapperOption`
`of(Function<Utf8Entry, AttributeMapper<?>> attributeMapper)`
Returns an option describing user-defined attributes for parsing.

## Method Details

### of

static ClassFile.AttributeMapperOption of(Function<Utf8Entry, AttributeMapper<?>> attributeMapper)
Returns an option describing user-defined attributes for parsing.

Parameters:
  `attributeMapper` - a function mapping attribute names to attribute mappers
Returns:
  an option describing user-defined attributes for parsing

### attributeMapper

Function<Utf8Entry, AttributeMapper<?>> attributeMapper()
Returns the function mapping attribute names to attribute mappers.

Returns:
  the function mapping attribute names to attribute mappers