APIdia Launch Partner
Top Description Methods
java.lang.classfile.attribute

public sealed Interface RuntimeInvisibleParameterAnnotationsAttribute

extends Attribute<RuntimeInvisibleParameterAnnotationsAttribute>, MethodElement
permits BoundRuntimeInvisibleParameterAnnotationsAttribute, UnboundRuntimeInvisibleParameterAnnotationsAttribute
Known Direct Implementers
jdk.internal.classfile.impl.BoundAttribute.BoundRuntimeInvisibleParameterAnnotationsAttribute, jdk.internal.classfile.impl.UnboundAttribute.UnboundRuntimeInvisibleParameterAnnotationsAttribute
Imports
java.lang.annotation.ElementType, .RetentionPolicy, java.lang.classfile.Annotation, .Attribute, .AttributeMapper, .AttributeMapper.AttributeStability, .Attributes, .ClassFile, .MethodElement, java.lang.reflect.AnnotatedElement, java.util.List, jdk.internal.classfile.impl.BoundAttribute, .UnboundAttribute

Models the RuntimeInvisibleParameterAnnotations attribute (JVMS 4.7.19), which stores declaration annotations on the method parameters of this method that are visible to class file consumers but are not visible to core reflection.

This attribute only appears on methods, and does not permit multiple instances in a method. It has a data dependency on the constant pool.

The attribute was introduced in the Java SE Platform version 5.0, major version 49.

Since
24
Java Virtual Machine Specification
4.7.19 The RuntimeInvisibleParameterAnnotations Attribute
See Also
Attributes#runtimeInvisibleParameterAnnotations(), ElementType#PARAMETER, RetentionPolicy#CLASS

Method Summary

Modifier and TypeMethod and Description
public static RuntimeInvisibleParameterAnnotationsAttribute

Returns:

a RuntimeInvisibleParameterAnnotations attribute
of
(List<List<Annotation>>
a list of run-time invisible annotations for each parameter
parameterAnnotations
)

Returns a RuntimeInvisibleParameterAnnotations attribute.

public List<List<Annotation>>

Returns:

the list of run-time invisible annotations on the method parameters
parameterAnnotations
()

Returns the list of run-time invisible annotations on the method parameters.

Inherited from java.lang.classfile.Attribute:
attributeMapperattributeName

Method Detail

ofback to summary
public static RuntimeInvisibleParameterAnnotationsAttribute of(List<List<Annotation>> parameterAnnotations)

Returns a RuntimeInvisibleParameterAnnotations attribute. The parameterAnnotations list should not be truncated, and must have a length equal to the number of formal parameters; elements for unannotated parameters may be empty, but may not be omitted. It may omit some synthetic or implicit parameters.

Parameters
parameterAnnotations:List<List<Annotation>>

a list of run-time invisible annotations for each parameter

Returns:RuntimeInvisibleParameterAnnotationsAttribute

a RuntimeInvisibleParameterAnnotations attribute

Exceptions
IllegalArgumentException:
if the number of parameters exceeds the limit of u1, or the number of annotations on any parameter exceeds the limit of u2
parameterAnnotationsback to summary
public List<List<Annotation>> parameterAnnotations()

Returns the list of run-time invisible annotations on the method parameters. The element at the i'th index corresponds to the annotations on the i'th formal parameter, but note that some synthetic or implicit parameters may be omitted by this list. If a parameter has no annotations, that element is left empty, but is not omitted; thus, the list will never be truncated because trailing parameters are not annotated.

Returns:List<List<Annotation>>

the list of run-time invisible annotations on the method parameters

See Also
Java programming language and JVM modeling in core reflection