]> source.dussan.org Git - javassist.git/commitdiff
Added javadoc comments.
authorchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>
Mon, 31 Jan 2005 14:09:56 +0000 (14:09 +0000)
committerchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>
Mon, 31 Jan 2005 14:09:56 +0000 (14:09 +0000)
git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@157 30ef5769-5b8d-40dd-aea6-55b5d6557bb3

src/main/javassist/CtMember.java
src/main/javassist/bytecode/AnnotationsAttribute.java
src/main/javassist/bytecode/annotation/MemberValueVisitor.java
tutorial/tutorial2.html
tutorial/tutorial3.html

index 8b2906db376d69303be55a0d9bfb0f244f6e798f..ee8aadbcaeb1f2f202c541781871f77d1fb3a2ec 100644 (file)
@@ -120,7 +120,7 @@ public abstract class CtMember {
     public abstract String getName();
 
     /**
-     * Obtains an attribute with the given name.
+     * Obtains a user-defined attribute with the given name.
      * If that attribute is not found in the class file, this
      * method returns null.
      *
@@ -129,7 +129,7 @@ public abstract class CtMember {
     public abstract byte[] getAttribute(String name);
 
     /**
-     * Adds an attribute. The attribute is saved in the class file.
+     * Adds a user-defined attribute. The attribute is saved in the class file.
      *
      * @param name      attribute name
      * @param data      attribute value
index a9fda5361ef07252f7c52a606831e1dffa4547f1..42ac8a59b2b279f5050f8f2cbde71e8d9620609d 100644 (file)
@@ -35,6 +35,22 @@ import javassist.bytecode.annotation.*;
  * <code>AnnotationAttribute.visibleTag</code>, then the obtained
  * attribute is a runtime visible one.
  *
+ * <p>For example,
+ *
+ * <ul><pre>
+ * CtMethod m = ... ;
+ * MethodInfo minfo = m.getMethodInfo();
+ * AnnotationsAttribute attr = (AnnotationsAttribute)
+ *         minfo.getAttribute(AnnotationsAttribute.invisibleTag);
+ * Annotation an = attr.getAnnotation("Author");
+ * String s = ((StringMemberValue)a.getMemberValue("name")).getValue();
+ * System.out.println("@Author(name=" + s + ")");
+ * </pre></ul>
+ *
+ * <p>This code snippet retrieves an annotation of the type <code>Author</code>
+ * from the <code>MethodInfo</code> object specified by <code>minfo</code>.
+ * Then, it prints the value of <code>name</code> in <code>Author</code>.
+ *
  * <p>If you want to record a new AnnotationAttribute object, execute the
  * following snippet:
  *
@@ -48,6 +64,8 @@ import javassist.bytecode.annotation.*;
  * attr.setAnnotation(a);
  * cf.addAttribute(attr);
  * </pre></ul>
+ *
+ * @see javassist.bytecode.annotation.Annotation
  */
 public class AnnotationsAttribute extends AttributeInfo {
     /**
@@ -125,6 +143,7 @@ public class AnnotationsAttribute extends AttributeInfo {
      * <code>getAnnotations()</code> as to the returned data structure.
      *
      * @param type      the annotation type.
+     * @return null if the specified annotation type is not included.
      * @see #getAnnotations()
      */
     public Annotation getAnnotation(String type) {
index d302e9bb37ba0ef510ce9cb3960c1497612c116e..55aabb8f96256966bcbce73c5246c6bc9758df91 100644 (file)
@@ -20,8 +20,7 @@ package javassist.bytecode.annotation;
  *
  * @author <a href="mailto:bill@jboss.org">Bill Burke</a>
  */
-public interface MemberValueVisitor
-{
+public interface MemberValueVisitor {
    public void visitAnnotationMemberValue(AnnotationMemberValue node);
    public void visitArrayMemberValue(ArrayMemberValue node);
    public void visitBooleanMemberValue(BooleanMemberValue node);
index 63d75ce0769e49f54c5fe1762fb31a80331dd9f3..abac129a3584a44db44dc939762974d805b6d095 100644 (file)
@@ -1368,6 +1368,13 @@ CtField f = CtField.make("public int z = 0;", point);
 point.addField(f);
 </pre></ul>
 
+<h4>Removing a member</h4>
+
+<p>To remove a field or a method, call <code>removeField()</code>
+or <code>removeMethod()</code> in <code>CtClass</code>.  A
+<code>CtConstructor</code> can be removed by <code>removeConstructor()</code>
+in <code>CtClass</code>.
+
 
 <p><br>
 
index af0a4c1b2bd5a717d493a62864eac2b3fab25375..635e01b6d76cb8c6fd58ab8b1532659de3f7b5dd 100644 (file)
@@ -84,7 +84,7 @@ In other words, a <code>FieldInfo</code> (or <code>MethodInfo</code> etc.) objec
 must not be shared among different <code>ClassFile</code> objects.
 
 <p>
-To remove a field or a method,
+To remove a field or a method from a <code>ClassFile</code> object,
 you must first obtain a <code>java.util.List</code>
 object containing all the fields of the class.  <code>getFields()</code>
 and <code>getMethods()</code> return the lists.  A field or a method can