View Javadoc

1   package cz.cuni.amis.pogamut.base.component;
2   
3   import javax.management.MXBean;
4   
5   import cz.cuni.amis.utils.token.IToken;
6   
7   /**
8    * Every agent consists of components. Component is anything that wraps some kind of functionality.
9    * Such as WorldView, ShootingBehavior or the Agent itself.
10   * <p><p>
11   * Every component has its own ID (string based), that can be thought of as Spring-bean identifier.
12   * Every component may register listener on events from other components using this ID and EventBus.
13   * 
14   * @author Jimmy
15   */
16  @MXBean
17  public interface IComponent {
18  	
19  	/**
20  	 * Unique identification of the component.
21  	 * @return
22  	 */
23  	public IToken getComponentId();
24  	
25  // Could not be here, as Logger has trouble with serialization...
26  //	/**
27  //	 * Returns log used by the component.
28  //	 * @return
29  //	 */
30  //	public Logger getLog();
31  	
32  }