org.jikesrvm.classloader
Class RVMAnnotation.AnnotationMember

java.lang.Object
  extended by org.jikesrvm.classloader.RVMAnnotation.AnnotationMember
All Implemented Interfaces:
Comparable<RVMAnnotation.AnnotationMember>
Enclosing class:
RVMAnnotation

private static final class RVMAnnotation.AnnotationMember
extends Object
implements Comparable<RVMAnnotation.AnnotationMember>

A class to decode and hold the name and its associated value for an annotation member


Field Summary
private  MethodReference meth
          Name of element
private  boolean notFirstUse
          Is this not the first use of the member?
private  Object value
          Elements value, decoded from its tag
 
Constructor Summary
private RVMAnnotation.AnnotationMember(MethodReference meth, Object value)
          Construct a read value pair
 
Method Summary
 int compareTo(RVMAnnotation.AnnotationMember am)
          Ordering for sorted annotation members
 boolean equals(Object o)
          Are two members equivalent?
(package private)  Atom getName()
           
(package private)  Object getValue()
           
 int hashCode()
          Compute hashCode from meth
(package private) static RVMAnnotation.AnnotationMember readAnnotationMember(TypeReference type, int[] constantPool, DataInputStream input, ClassLoader classLoader)
          Read the pair from the input stream and create object
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

meth

private final MethodReference meth
Name of element


value

private Object value
Elements value, decoded from its tag


notFirstUse

private boolean notFirstUse
Is this not the first use of the member?

Constructor Detail

RVMAnnotation.AnnotationMember

private RVMAnnotation.AnnotationMember(MethodReference meth,
                                       Object value)
Construct a read value pair

Method Detail

readAnnotationMember

static RVMAnnotation.AnnotationMember readAnnotationMember(TypeReference type,
                                                           int[] constantPool,
                                                           DataInputStream input,
                                                           ClassLoader classLoader)
                                                    throws IOException,
                                                           ClassNotFoundException
Read the pair from the input stream and create object

Parameters:
constantPool - the constant pool for the class being read
input - stream to read from
classLoader - the class loader being used to load this annotation
Returns:
a newly created annotation member
Throws:
IOException
ClassNotFoundException

getName

Atom getName()
Returns:
the name of the of the given pair

getValue

Object getValue()
Returns:
the value of the of the given pair

equals

public boolean equals(Object o)
Are two members equivalent?

Overrides:
equals in class Object

hashCode

public int hashCode()
Compute hashCode from meth

Overrides:
hashCode in class Object

compareTo

public int compareTo(RVMAnnotation.AnnotationMember am)
Ordering for sorted annotation members

Specified by:
compareTo in interface Comparable<RVMAnnotation.AnnotationMember>