Spec-Zone.ru › OpenJDK 25

Class CustomAttribute<T extends CustomAttribute<T>>

java.lang.Object
java.lang.classfile.CustomAttribute<T>
Type Parameters:
T - the custom attribute type
All Implemented Interfaces:
Attribute<T>, ClassElement, ClassFileElement, CodeElement, FieldElement, MethodElement
public abstract non-sealed class CustomAttribute<T extends CustomAttribute<T>> extends Object implements Attribute<T>, CodeElement, ClassElement, MethodElement, FieldElement
Models a user-defined attribute in a class file. API models for user-defined attributes should extend this class. A user-defined attribute should also have an AttributeMapper defined, which will be returned by attributeMapper(), and registered to the ClassFile.AttributeMapperOption so the user-defined attributes can be read.

Accessor methods on user-defined attributes read from class files may throw IllegalArgumentException if the attribute model is lazily evaluated, and the evaluation encounters malformed class file format for the attribute.

Since:
24
See Also:
  • java.lang.classfile.attribute

Constructor Summary

CustomAttribute(AttributeMapper<T> mapper)
Modifier Constructor Description
protected
Constructor for subclasses to call.

Method Summary

Modifier and Type Method Description
final AttributeMapper<T> attributeMapper()
Returns the AttributeMapper associated with this attribute.
Utf8Entry attributeName()
Returns the name of the attribute.

Methods declared in class Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

CustomAttribute

protected CustomAttribute(AttributeMapper<T> mapper)
Constructor for subclasses to call.
Parameters:
mapper - the attribute mapper

Method Details

attributeMapper

public final AttributeMapper<T> attributeMapper()
Description copied from interface: Attribute
Returns the AttributeMapper associated with this attribute.
Specified by:
attributeMapper in interface Attribute<T extends CustomAttribute<T>>
Returns:
the AttributeMapper associated with this attribute

attributeName

public Utf8Entry attributeName()
Returns the name of the attribute. The string value of the name is equivalent to the value of attributeMapper().name().

If this attribute is read from a class file, this method returns the Utf8Entry indicating the attribute name in the class file.

Specified by:
attributeName in interface Attribute<T extends CustomAttribute<T>>
Implementation Requirements:
The default implementation returns a Utf8Entry suitable for writing only, which may be unbound. Subclasses representing attributes read from class files must override this method.
Returns:
the name of the attribute
See Also:
  • AttributeMapper.readAttribute(AttributedElement, ClassReader, int)

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2025, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/CustomAttribute.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API