KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > avalon > fortress > impl > handler > ThreadSafeComponentHandler


1 /*
2  * Copyright 2003-2004 The Apache Software Foundation
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
12  * implied.
13  *
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 package org.apache.avalon.fortress.impl.handler;
19
20 /**
21  * The ThreadSafeComponentHandler to make sure components are initialized
22  * and destroyed correctly.
23  *
24  * @author <a HREF="mailto:dev@avalon.apache.org">Avalon Development Team</a>
25  * @version CVS $Revision: 1.7 $ $Date: 2004/02/28 15:16:25 $
26  * @since 4.0
27  */

28 public final class ThreadSafeComponentHandler
29     extends AbstractComponentHandler
30 {
31     private Object JavaDoc m_instance;
32
33     /**
34      * Initialize the ComponentHandler.
35      * @exception Exception if a handler preparation error occurs
36      */

37     protected void doPrepare()
38         throws Exception JavaDoc
39     {
40         m_instance = newComponent();
41     }
42
43     /**
44      * Return instance for a get.
45      *
46      * @return the instance
47      * @exception Exception if a handler access error occurs
48      */

49     protected Object JavaDoc doGet()
50         throws Exception JavaDoc
51     {
52         return m_instance;
53     }
54
55     /**
56      * Dispose of the ComponentHandler and any associated Pools and Factories.
57      */

58     protected void doDispose()
59     {
60         disposeComponent( m_instance );
61         m_instance = null;
62     }
63 }
64
Popular Tags