KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > hivemind > service > MethodFab


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

15 package org.apache.hivemind.service;
16
17 /**
18  * Represents a created method on a class; used to add catch handlers.
19  *
20  * @see org.apache.hivemind.service.ClassFab#addMethod(int, MethodSignature, String)
21  */

22 public interface MethodFab
23 {
24     /**
25      * Adds a catch to the method. The body must end with a return or throw. The special Javassist
26      * varaiable <code>$e</code> represents the caught exception.
27      */

28     public void addCatch(Class JavaDoc exceptionClass, String JavaDoc catchBody);
29
30     /**
31      * Extends the existing method with additional code. The new body can reference the return value
32      * generated by the existing body using the special variable <code>$_</code>, for example
33      * <code>$_ = 2 * $_</code>.
34      *
35      * @param body
36      * a block to execute after any existing code in the method
37      * @param asFinally
38      * if true, the block provided wil execute as with a finally block (even if an
39      * exception is thrown)
40      */

41
42     public void extend(String JavaDoc body, boolean asFinally);
43 }
Popular Tags