KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > log4j > lf5 > AppenderFinalizer


1 /*
2  * Copyright 1999-2005 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 org.apache.log4j.lf5;
17
18 import org.apache.log4j.lf5.viewer.LogBrokerMonitor;
19
20 /**
21  * <code>AppenderFinalizer</code> has a single method that will finalize
22  * resources associated with a <code>LogBrokerMonitor</code> in the event
23  * that the <code>LF5Appender</code> class is destroyed, and the class loader
24  * is garbage collected.
25  *
26  * @author Brent Sprecher
27  */

28
29 // Contributed by ThoughtWorks Inc.
30

31 public class AppenderFinalizer {
32   //--------------------------------------------------------------------------
33
// Constants:
34
//--------------------------------------------------------------------------
35

36   //--------------------------------------------------------------------------
37
// Protected Variables:
38
//--------------------------------------------------------------------------
39

40   protected LogBrokerMonitor _defaultMonitor = null;
41
42   //--------------------------------------------------------------------------
43
// Private Variables:
44
//--------------------------------------------------------------------------
45

46   //--------------------------------------------------------------------------
47
// Constructors:
48
//--------------------------------------------------------------------------
49

50   public AppenderFinalizer(LogBrokerMonitor defaultMonitor) {
51     _defaultMonitor = defaultMonitor;
52   }
53   //--------------------------------------------------------------------------
54
// Public Methods:
55
//--------------------------------------------------------------------------
56

57   //--------------------------------------------------------------------------
58
// Protected Methods:
59
//--------------------------------------------------------------------------
60

61   /**
62    * @throws java.lang.Throwable
63    */

64   protected void finalize() throws Throwable JavaDoc {
65     System.out.println("Disposing of the default LogBrokerMonitor instance");
66     _defaultMonitor.dispose();
67   }
68
69   //--------------------------------------------------------------------------
70
// Private Methods:
71
//--------------------------------------------------------------------------
72

73   //--------------------------------------------------------------------------
74
// Nested Top-Level Classes or Interfaces:
75
//--------------------------------------------------------------------------
76

77 }
Popular Tags