1 /*
2 * Created on May 1, 2004
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * Full GNU LGPL license terms : http://www.gnu.org/copyleft/lesser.txt
15 *
16 * Project : iky-container
17 * Package : net.wmind.container.component
18 * Author : mchaplin@users.sourceforge.net
19 *
20 */
21
22 package net.mchaplin.ioc.component;
23
24 import net.mchaplin.ioc.ContainerI;
25
26 /***
27 * The Component interface that components registered
28 * to a Container must implement.
29 *
30 * @author mchaplin@users.sourceforge.net
31 * $Header:
32 * $Revision:
33 * $Date:
34 */
35 public interface ComponentI {
36
37 public final String CMP_I = "net.mchaplin.ioc.component.ComponentI";
38
39 /***
40 * Provide facility for
41 * runtime component redeployment
42 */
43 public void reset();
44
45 /***
46 * Provide component dependencies lookup facility
47 *
48 * @return the Container that holds this Component.
49 */
50 public ContainerI getContainer();
51
52 /***
53 * Dependency injection setter
54 *
55 * @return the Container that holds this Component.
56 */
57 public void setContainer(ContainerI container);
58
59 }