KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > mina > common > ExceptionMonitor


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

20 package org.apache.mina.common;
21
22 import org.apache.mina.common.support.DefaultExceptionMonitor;
23
24 /**
25  * Monitors uncaught exceptions. {@link #exceptionCaught(Throwable)} is
26  * invoked when there are any uncaught exceptions.
27  * <p>
28  * You can monitor any uncaught exceptions by setting {@link ExceptionMonitor}
29  * by calling {@link #setInstance(ExceptionMonitor)}. The default
30  * monitor logs all caught exceptions in <tt>WARN</tt> level using
31  * SLF4J.
32  *
33  * @author The Apache Directory Project (mina-dev@directory.apache.org)
34  * @version $Rev: 555855 $, $Date: 2007-07-13 12:19:00 +0900 (금, 13 7월 2007) $
35  *
36  * @see DefaultExceptionMonitor
37  */

38 public abstract class ExceptionMonitor {
39     private static ExceptionMonitor instance = new DefaultExceptionMonitor();
40
41     /**
42      * Returns the current exception monitor.
43      */

44     public static ExceptionMonitor getInstance() {
45         return instance;
46     }
47
48     /**
49      * Sets the uncaught exception monitor. If <code>null</code> is specified,
50      * the default monitor will be set.
51      *
52      * @param monitor A new instance of {@link DefaultExceptionMonitor} is set
53      * if <tt>null</tt> is specified.
54      */

55     public static void setInstance(ExceptionMonitor monitor) {
56         if (monitor == null) {
57             monitor = new DefaultExceptionMonitor();
58         }
59         instance = monitor;
60     }
61
62     /**
63      * Invoked when there are any uncaught exceptions.
64      */

65     public abstract void exceptionCaught(Throwable JavaDoc cause);
66 }
Popular Tags