KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > cglib > proxy > NoOpGenerator


1 /*
2  * Copyright 2003,2004 The Apache Software Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package net.sf.cglib.proxy;
17
18 import java.util.Iterator JavaDoc;
19 import java.util.List JavaDoc;
20 import net.sf.cglib.core.*;
21
22 class NoOpGenerator
23 implements CallbackGenerator
24 {
25     public static final NoOpGenerator INSTANCE = new NoOpGenerator();
26
27     public void generate(ClassEmitter ce, Context context, List JavaDoc methods) {
28         for (Iterator JavaDoc it = methods.iterator(); it.hasNext();) {
29             MethodInfo method = (MethodInfo)it.next();
30             if (TypeUtils.isProtected(context.getOriginalModifiers(method)) &&
31                 TypeUtils.isPublic(method.getModifiers())) {
32                 CodeEmitter e = EmitUtils.begin_method(ce, method);
33                 e.load_this();
34                 e.load_args();
35                 e.super_invoke();
36                 e.return_value();
37                 e.end_method();
38             }
39         }
40     }
41     
42     public void generateStatic(CodeEmitter e, Context context, List JavaDoc methods) { }
43 }
44
Popular Tags