1 package cz.cuni.amis.pogamut.base.agent.state.level0; 2 3 import java.io.Serializable; 4 5 public interface IAgentState extends Serializable { 6 7 /** 8 * Provides convenient method for testing whether the agent is in one of 'states'. 9 * <p><p> 10 * Returns whether this state is one of the 'states' (using instanceof). 11 * @param states 12 * @return 13 */ 14 public boolean isState(Class... states); 15 16 /** 17 * Provides convenient method for testing whether the agent is not in any of 'states'. 18 * <p><p> 19 * Returns whether this state is not any of the 'states' (using instanceof). 20 * @param states 21 * @return 22 */ 23 public boolean isNotState(Class... states); 24 25 /** 26 * Additional information about the state - this is inlcuded to hashCode() and equals() methods. 27 * @return 28 */ 29 public String getDescription(); 30 31 }