KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > ch > ethz > jvmai > ExceptionJoinPoint


1 //
2
// This file is part of the prose package.
3
//
4
// The contents of this file are subject to the Mozilla Public License
5
// Version 1.1 (the "License"); you may not use this file except in
6
// compliance with the License. You may obtain a copy of the License at
7
// http://www.mozilla.org/MPL/
8
//
9
// Software distributed under the License is distributed on an "AS IS" basis,
10
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
// for the specific language governing rights and limitations under the
12
// License.
13
//
14
// The Original Code is prose.
15
//
16
// The Initial Developer of the Original Code is Andrei Popovici. Portions
17
// created by Andrei Popovici are Copyright (C) 2002 Andrei Popovici.
18
// All Rights Reserved.
19
//
20
// Contributor(s):
21
// $Id: ExceptionJoinPoint.java,v 1.1.1.1 2003/07/02 15:30:50 apopovic Exp $
22
// =====================================================================
23
//
24
// (history at end)
25
//
26

27 package ch.ethz.jvmai;
28
29 // used packages
30
import java.util.*;
31 import java.io.*;
32 import ch.ethz.jvmai.JoinPoint;
33
34 /**
35  * Abstract class ExceptionJoinPoint represents a
36  * joinpoint denoting the throwing of an exception.
37  *
38  * @version $Revision: 1.1.1.1 $
39  * @author Philippe Schoch
40  */

41 public
42 interface ExceptionJoinPoint extends CodeJoinPoint {
43
44     public static String JavaDoc KIND = JoinPointKinds.KIND_EXCEPTION_THROW_ARGS_JP;
45
46     /**
47      * Specifies the exception object that has been thrown.
48      */

49     public Throwable JavaDoc getException();
50
51     /** True if there is a handler.
52      */

53     public boolean hasHandler();
54
55     /** Return the class of the current thread that has a handler for
56      * this exception.
57      */

58     public Class JavaDoc handlerClass();
59
60
61 }
62
63
64 //======================================================================
65
//
66
// $Log: ExceptionJoinPoint.java,v $
67
// Revision 1.1.1.1 2003/07/02 15:30:50 apopovic
68
// Imported from ETH Zurich
69
//
70
// Revision 1.2 2003/05/06 15:51:24 popovici
71
// Mozilla-ification
72
//
73
// Revision 1.1 2003/05/05 14:02:23 popovici
74
// renaming from runes to prose
75
//
76
// Revision 1.3 2003/04/17 08:47:07 popovici
77
// Important functionality additions
78
// - Cflow specializers
79
// - Restructuring of the MethodCut, SetCut, ThrowCut, and GetCut (they are much smaller)
80
// - Transactional capabilities
81
// - Total refactoring of Specializer evaluation, which permits fine-grained distinction
82
// between static and dynamic specializers.
83
// - Functionality pulled up in abstract classes
84
// - Uniformization of advice methods patterns and names
85
//
86
// Revision 1.2 2003/03/04 11:27:01 popovici
87
// Important refactorization step (march):
88
// - removal of 'JoinPointEvents'; JoinPoints now have the same function as events
89
// - reimplementation of the JVMAIDebuggerAspectInterface (better performance, coding conventions, removal of ProseVM
90
// structures
91
//
92
// Revision 1.1 2002/10/17 12:23:41 pschoch
93
// Added throw capabability to JVMAI
94
//
95
Popular Tags