KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > excalibur > mpool > ObjectFactory


1 /*
2  * Copyright 1999-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 package org.apache.excalibur.mpool;
18
19 /**
20  * This interface is to define how an ObjectFactory is defined. While this
21  * class is not strictly necessary, the implementation of the Pool can differ
22  * object creation to and instance of this interface.
23  *
24  * @author <a HREF="mailto:dev@avalon.apache.org">Avalon Development Team</a>
25  * @version CVS $Revision: 1.4 $ $Date: 2004/02/28 11:47:33 $
26  * @since 4.1.2
27  */

28 public interface ObjectFactory
29 {
30     String JavaDoc ROLE = ObjectFactory.class.getName();
31
32     /**
33      * Create a new instance of the object being pooled.
34      *
35      * @return the pooled Object instance
36      * @throws Exception if the object cannot be instantiated
37      */

38     Object JavaDoc newInstance() throws Exception JavaDoc;
39
40     /**
41      * Get the class of the object you are creating.
42      *
43      * @return Class object of the factory's class
44      */

45     Class JavaDoc getCreatedClass();
46
47     /**
48      * Performs any deconstruction that is necessary for the
49      * object.
50      *
51      * @param object to destroy
52      * @throws IllegalArgumentException if the object is not of
53      * the same class that the factory creates.
54      * @throws Exception if there is any other reason that the
55      * factory has problems disposing of the object.
56      */

57     void dispose( Object JavaDoc object ) throws Exception JavaDoc;
58 }
59
Popular Tags