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.
 
 User-defined attributes are currently not delivered in the traversal of a
 CodeModel.
 
 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:
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedCustomAttribute(AttributeMapper<T> mapper) Constructor for subclasses to call.
- 
Method SummaryModifier and TypeMethodDescriptionfinal AttributeMapper<T> Returns theAttributeMapperassociated with this attribute.Returns the name of the attribute.
- 
Constructor Details- 
CustomAttributeConstructor for subclasses to call.- Parameters:
- mapper- the attribute mapper
 
 
- 
- 
Method Details- 
attributeMapperDescription copied from interface:AttributeReturns theAttributeMapperassociated with this attribute.- Specified by:
- attributeMapperin interface- Attribute<T extends CustomAttribute<T>>
- Returns:
- the AttributeMapperassociated with this attribute
 
- 
attributeNameReturns the name of the attribute. The string value of the name is equivalent to the value ofattributeMapper().name().If this attribute is read from a classfile, this method returns theUtf8Entryindicating the attribute name in theclassfile.- Specified by:
- attributeNamein interface- Attribute<T extends CustomAttribute<T>>
- Implementation Requirements:
- The default implementation returns a Utf8Entrysuitable for writing only, which may be unbound. Subclasses representing attributes read fromclassfiles must override this method.
- Returns:
- the name of the attribute
- See Also:
 
 
-