package eis.eis2java.handlers;
import java.util.LinkedList;
import eis.eis2java.annotation.AsPercept;
import eis.eis2java.environment.AbstractEnvironment;
import eis.exceptions.PerceiveException;
import eis.iilang.Percept;
/**
* The {@link AbstractEnvironment} delegates the actual collection of percepts
* from an agent to the PerceptHandler.
*
* @author mpkorstanje
*
*/
public abstract class PerceptHandler {
/**
* Collects all percepts provided by the registered entity through
* {@link AsPercept} annotations.
*
* @return a list of the collected percepts
* @throws PerceiveException
*/
public abstract LinkedList<Percept> getAllPercepts()
throws PerceiveException;
/**
* Called when the entity is reset.
*/
public abstract void reset();
}