View Javadoc
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  }