KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sape > carbon > core > component > ComponentKeeper


1 /*
2  * The contents of this file are subject to the Sapient Public License
3  * Version 1.0 (the "License"); you may not use this file except in compliance
4  * with the License. You may obtain a copy of the License at
5  * http://carbon.sf.net/License.html.
6  *
7  * Software distributed under the License is distributed on an "AS IS" basis,
8  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
9  * the specific language governing rights and limitations under the License.
10  *
11  * The Original Code is The Carbon Component Framework.
12  *
13  * The Initial Developer of the Original Code is Sapient Corporation
14  *
15  * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
16  */

17
18 package org.sape.carbon.core.component;
19
20 import java.util.Collection JavaDoc;
21
22
23 /**
24  * <p>Interface for the system component keeper. A ComponentKeeper is
25  * responsible for the birth and death of all components and maintaining
26  * a reference to them during their lives.</p>
27  *
28  * Copyright 2002 Sapient
29  * @since carbon 1.0
30  * @author Douglas Voet, January 2002
31  * @version $Revision: 1.15 $($Author: dvoet $ / $Date: 2003/05/05 21:21:11 $)
32  */

33 public interface ComponentKeeper {
34     /**
35      * <p>Gets a reference to the component specified by the name parameter.
36      * Builds the component if it has not yet been created. Repeated calls to
37      * this method requesting the same logicalComponentName should return the
38      * same reference unless the component has been destroyed between calls.</p>
39      *
40      * @param logicalComponentName the name of the component
41      * @return a reference to the component specified by name
42      */

43     Component fetchComponent(String JavaDoc logicalComponentName);
44
45     /**
46      * Returns a Collection of all the components loaded in the system.
47      * Implementations should return a defensive copy to avoid concurrency
48      * issues.
49      * @return Collection of component names (String)
50      */

51     Collection JavaDoc getComponentNames();
52
53     /**
54      * <p>Stops and destroys all components.</p>
55      */

56     void destroyAllComponents();
57
58     /**
59      * <p>Destroys the component specified by the name parameter.</p>
60      *
61      * @param logicalComponentName the name of the component
62      */

63     void destroyComponent(String JavaDoc logicalComponentName);
64
65     /** @link dependency
66      * @label uses*/

67     /*#LifecycleManagerFactory lnkFactory;*/
68 }
69
Popular Tags