1 package org.neo.swarm.core.container;
2
3 import java.util.Collection;
4
5 import org.neo.swarm.core.aop.silc.comp.Perspective;
6
7 /***
8 * @author damiang
9 */
10 public interface ComponentContainer {
11
12 void start();
13
14 void registerComponent(Object key, Class impl, CreationType creationType);
15
16 void registerComponent(Object key, Class impl, Object[] args, CreationType creationType);
17
18 Object getComponent(Object key);
19
20 Collection getComponentsOfType(Class type);
21
22 Collection getComponentsOfType(Perspective perspective, Class type);
23
24 void registerComponentInstance(String name, Object object);
25
26 Object getComponent(Perspective perspective, Object key);
27
28 void removeComponent(Object key);
29
30 void stop();
31
32 }