FileDocCategorySizeDatePackage
RuntimeInvisibleAnnotations.javaAPI DocGlassfish v2 API5824Thu Mar 02 11:51:14 GMT 2006oracle.toplink.libraries.asm.attrs

RuntimeInvisibleAnnotations

public 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.
see
JSR 175 : A Metadata Facility for the Java Programming Language
author
Eugene Kuleshov

Fields Summary
public List
annotations
List of Annotation.
Constructors Summary
public RuntimeInvisibleAnnotations()


     
    super("RuntimeInvisibleAnnotations");
  
Methods Summary
protected oracle.toplink.libraries.asm.Attributeread(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.StringtoString()
Returns value in the format described in JSR-175 for Java source code.

return
value in the format described in JSR-175 for Java source code.

    return Annotation.stringAnnotations(annotations);
  
protected oracle.toplink.libraries.asm.ByteVectorwrite(oracle.toplink.libraries.asm.ClassWriter cw, byte[] code, int len, int maxStack, int maxLocals)

    return Annotation.writeAnnotations(new ByteVector(), annotations, cw);