- Type Parameters:
A
- the attribute type
public interface AttributeMapper<A>
AttributeMapper
is a preview API of the Java platform.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Bidirectional mapper between the classfile representation of an attribute and
how that attribute is modeled in the API. The attribute mapper is used
to parse the classfile representation into a model, and to write the model
representation back to a classfile. For each standard attribute, there is a
predefined attribute mapper defined in
Attributes
PREVIEW. For nonstandard
attributes, clients can define their own AttributeMapperPREVIEW.
Classes that model nonstandard attributes should extend CustomAttribute
PREVIEW.- Since:
- 22
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
Preview.Attribute stability indicator -
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
Returns whether this attribute may appear more than once in a given location.name()
Returns the name of the attribute.readAttribute
(AttributedElementPREVIEW enclosing, ClassReaderPREVIEW cf, int pos) Returns attribute stability indicator.void
writeAttribute
(BufWriterPREVIEW buf, A attr)
-
Method Details
-
name
-
readAttribute
- Parameters:
enclosing
- The class, method, field, or code attribute in which this attribute appearscf
- TheClassReader
PREVIEW describing the classfile to read frompos
- The offset into the classfile at which the attribute starts- Returns:
- the new attribute
-
writeAttribute
-
allowMultiple
default boolean allowMultiple()Returns whether this attribute may appear more than once in a given location.- Implementation Requirements:
- The default implementation returns
false
- Returns:
- whether this attribute may appear more than once in a given location
-
stability
AttributeMapper.AttributeStabilityPREVIEW stability()Returns attribute stability indicator.- Returns:
- attribute stability indicator
-
AttributeMapper
when preview features are enabled.