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

public sealed Interface RuntimeVisibleParameterAnnotationsAttribute

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

Models the RuntimeVisibleParameterAnnotations attribute (JVMS 4.7.18), which stores declaration annotations on the method parameters of this method that are visible to both class file consumers and 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.18 The RuntimeVisibleParameterAnnotations Attribute
See Also
Attributes#runtimeVisibleParameterAnnotations(), Executable#getParameterAnnotations(), ElementType#PARAMETER, RetentionPolicy#RUNTIME

Method Summary

Modifier and TypeMethod and Description
public static RuntimeVisibleParameterAnnotationsAttribute

Returns:

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

Returns a RuntimeVisibleParameterAnnotations attribute.

public List<List<Annotation>>

Returns:

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

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

Inherited from java.lang.classfile.Attribute:
attributeMapperattributeName

Method Detail

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

Returns a RuntimeVisibleParameterAnnotations 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 visible annotations for each parameter

Returns:RuntimeVisibleParameterAnnotationsAttribute

a RuntimeVisibleParameterAnnotations 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 visible 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 visible annotations on the method parameters

See Also
Java programming language and JVM modeling in core reflection