RuntimeInvisibleAnnotationspublic class RuntimeInvisibleAnnotations extends Attribute The RuntimeInvisibleAnnotations attribute is similar to the
RuntimeVisibleAnnotations attribute, except that the annotations represented by
a RuntimeInvisibleAnnotations attribute must not be made available for return
by reflective APIs, unless the JVM has been instructed to retain these
annotations via some implementation-specific mechanism such as a command line
flag. In the absence of such instructions, the JVM ignores this attribute.
The RuntimeInvisibleAnnotations attribute is a variable length attribute in the
attributes table of the ClassFile, field_info, and method_info structures. The
RuntimeInvisibleAnnotations attribute records runtime-invisible Java
programming language annotations on the corresponding class, method, or field.
Each ClassFile, field_info, and method_info structure may contain at most one
RuntimeInvisibleAnnotations attribute, which records all the runtime-invisible
Java programming language annotations on the corresponding program element.
The RuntimeInvisibleAnnotations attribute has the following format:
RuntimeInvisibleAnnotations_attribute {
u2 attribute_name_index;
u4 attribute_length;
u2 num_annotations;
annotation annotations[num_annotations];
}
The items of the RuntimeInvisibleAnnotations structure are as follows:
- attribute_name_index
- The value of the attribute_name_index item must be a valid index into the
constant_pool table. The constant_pool entry at that index must be a
CONSTANT_Utf8_info structure representing the string
"RuntimeInvisibleAnnotations".
- attribute_length
- The value of the attribute_length item indicates the length of the
attribute, excluding the initial six bytes. The value of the
attribute_length item is thus dependent on the number of runtime-invisible
annotations represented by the structure, and their values.
- num_annotations
- The value of the num_annotations item gives the number of runtime-invisible
annotations represented by the structure. Note that a maximum of 65535
runtime-invisible Java programming language annotations may be directly
attached to a program element.
- annotations
- Each value of the annotations table represents a single runtime-invisible
{@link oracle.toplink.libraries.asm.attrs.Annotation annotation} on a program element.
|
Fields Summary |
---|
public List | annotationsList of Annotation . |
Constructors Summary |
---|
public RuntimeInvisibleAnnotations()
super("RuntimeInvisibleAnnotations");
|
Methods Summary |
---|
protected oracle.toplink.libraries.asm.Attribute | read(oracle.toplink.libraries.asm.ClassReader cr, int off, int len, char[] buf, int codeOff, oracle.toplink.libraries.asm.Label[] labels)
RuntimeInvisibleAnnotations atr = new RuntimeInvisibleAnnotations();
Annotation.readAnnotations(atr.annotations, cr, off, buf);
return atr;
| public java.lang.String | toString()Returns value in the format described in JSR-175 for Java source code.
return Annotation.stringAnnotations(annotations);
| protected oracle.toplink.libraries.asm.ByteVector | write(oracle.toplink.libraries.asm.ClassWriter cw, byte[] code, int len, int maxStack, int maxLocals)
return Annotation.writeAnnotations(new ByteVector(), annotations, cw);
|
|