Interface SignatureAttribute
- All Superinterfaces:
Attribute<SignatureAttribute>,ClassElement,ClassFileElement,FieldElement,MethodElement
public sealed interface SignatureAttribute
extends Attribute<SignatureAttribute>, ClassElement, MethodElement, FieldElement
Models the
Signature attribute (JVMS 4.7.9), which indicates the generic signature of this structure.
This attribute appears on classes, fields, methods, and record components, and does not permit multiple instances in one structure. It has a data dependency on the constant pool.
The attribute was introduced in the Java SE Platform version 5.0, major version 49.
- See Java Virtual Machine Specification:
-
4.7.9 The
SignatureAttribute - Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault ClassSignatureParses the signature string as a class signature.default MethodSignatureParse the signature string as a method signature.default SignatureParses the signature string as a Java type signature.static SignatureAttributeof(ClassSignature classSignature) Returns aSignatureattribute for a class.static SignatureAttributeReturns aSignatureattribute.static SignatureAttributeof(MethodSignature methodSignature) Returns aSignatureattribute for a method.static SignatureAttributeReturns aSignatureattribute for a field or a record component.Returns the signature string for the class, method, field, or record component.Methods declared in interface java.lang.classfile.Attribute
attributeMapper, attributeName
-
Method Details
-
signature
Utf8Entry signature()Returns the signature string for the class, method, field, or record component. It is a class signature string if this attribute is on a class, a method signature string if this attribute is on a method, or a field signature string if this attribute is on a field or a record component.- Returns:
- the signature string for the class, method, field, or record component
- See Java Virtual Machine Specification:
-
4.7.9.1 Signatures
-
asClassSignature
Parses the signature string as a class signature.- Returns:
- the class signature
- Throws:
IllegalArgumentException- if the signature string is not a valid class signature string
-
asMethodSignature
Parse the signature string as a method signature.- Returns:
- the method signature
- Throws:
IllegalArgumentException- if the signature string is not a valid method signature string
-
asTypeSignature
Parses the signature string as a Java type signature.- Returns:
- the type signature
- Throws:
IllegalArgumentException- if the signature string is not a valid Java type signature string- See Also:
-
of
Returns aSignatureattribute for a class.- Parameters:
classSignature- the class signature- Returns:
- a
Signatureattribute for a class
-
of
Returns aSignatureattribute for a method.- Parameters:
methodSignature- the method signature- Returns:
- a
Signatureattribute for a method
-
of
Returns aSignatureattribute for a field or a record component.- Parameters:
signature- the Java type signature- Returns:
- a
Signatureattribute for a field or a record component
-
of
Returns aSignatureattribute.- Parameters:
signature- the signature string- Returns:
- a
Signatureattribute
-