KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > hivemind > lib > BeanFactory


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

15 package org.apache.hivemind.lib;
16
17 /**
18  * Service interface for a source of beans of a particular type.
19  * Bean instances are retrieved using a <em>locator string</em> which is of the form:
20  * <code><em>name</em>[,<em>initializer</em>]</code>. That is, an optional initializer is
21  * may be specified, separated by a comma.
22  *
23  * <p>
24  * Beans may be cached or not.
25  *
26  * <p>
27  * The <code>hivemind.lib.BeanFactoryBuilder</code> service is used to create services
28  * implementing this interface (driven from a configuration).
29  *
30  * @author Howard Lewis Ship
31  */

32 public interface BeanFactory
33 {
34     /**
35      * Returns true if a bean matching the provided locator has been
36      * defined.
37      *
38      * @param locator the name or name and initializer
39      * @return true if a bean matching the provided locator has ben defined
40      */

41     public boolean contains(String JavaDoc locator);
42     
43     /**
44      * Gets a bean via its locator (it's name plus, optionally, an initializer).
45      *
46      * @param locator the name or name and initializer
47      * @return a bean instance
48      * @throws org.apache.hivemind.ApplicationRuntimeException if no bean matching the provided
49      * name has been defined.
50      */

51     public Object JavaDoc get(String JavaDoc locator);
52 }
53
Popular Tags