KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > asm > ClassAdapter


1 /***
2  * ASM: a very small and fast Java bytecode manipulation framework
3  * Copyright (c) 2000-2005 INRIA, France Telecom
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  * 3. Neither the name of the copyright holders nor the names of its
15  * contributors may be used to endorse or promote products derived from
16  * this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
28  * THE POSSIBILITY OF SUCH DAMAGE.
29  */

30 package org.objectweb.asm;
31
32 /**
33  * An empty {@link ClassVisitor} that delegates to another {@link ClassVisitor}.
34  * This class can be used as a super class to quickly implement usefull class
35  * adapter classes, just by overriding the necessary methods.
36  *
37  * @author Eric Bruneton
38  */

39 public class ClassAdapter implements ClassVisitor {
40
41     /**
42      * The {@link ClassVisitor} to which this adapter delegates calls.
43      */

44     protected ClassVisitor cv;
45
46     /**
47      * Constructs a new {@link ClassAdapter} object.
48      *
49      * @param cv the class visitor to which this adapter must delegate calls.
50      */

51     public ClassAdapter(final ClassVisitor cv) {
52         this.cv = cv;
53     }
54
55     public void visit(
56         final int version,
57         final int access,
58         final String JavaDoc name,
59         final String JavaDoc signature,
60         final String JavaDoc superName,
61         final String JavaDoc[] interfaces)
62     {
63         cv.visit(version, access, name, signature, superName, interfaces);
64     }
65
66     public void visitSource(final String JavaDoc source, final String JavaDoc debug) {
67         cv.visitSource(source, debug);
68     }
69
70     public void visitOuterClass(
71         final String JavaDoc owner,
72         final String JavaDoc name,
73         final String JavaDoc desc)
74     {
75         cv.visitOuterClass(owner, name, desc);
76     }
77
78     public AnnotationVisitor visitAnnotation(
79         final String JavaDoc desc,
80         final boolean visible)
81     {
82         return cv.visitAnnotation(desc, visible);
83     }
84
85     public void visitAttribute(final Attribute attr) {
86         cv.visitAttribute(attr);
87     }
88
89     public void visitInnerClass(
90         final String JavaDoc name,
91         final String JavaDoc outerName,
92         final String JavaDoc innerName,
93         final int access)
94     {
95         cv.visitInnerClass(name, outerName, innerName, access);
96     }
97
98     public FieldVisitor visitField(
99         final int access,
100         final String JavaDoc name,
101         final String JavaDoc desc,
102         final String JavaDoc signature,
103         final Object JavaDoc value)
104     {
105         return cv.visitField(access, name, desc, signature, value);
106     }
107
108     public MethodVisitor visitMethod(
109         final int access,
110         final String JavaDoc name,
111         final String JavaDoc desc,
112         final String JavaDoc signature,
113         final String JavaDoc[] exceptions)
114     {
115         return new MethodAdapter(cv.visitMethod(access,
116                 name,
117                 desc,
118                 signature,
119                 exceptions));
120     }
121
122     public void visitEnd() {
123         cv.visitEnd();
124     }
125 }
126
Popular Tags