01 package dk.deepthought.sidious.goalhandler;
02 
03 import dk.deepthought.sidious.supportsystem.SuperLinkID;
04 
05 /**
06  * This interface defines classes responsible for prioritizing goals.
07  <p>
08  
09  @author Deepthought
10  
11  */
12 public interface GoalHandler {
13 
14     /**
15      * This method retrieves the top goal for a given <code>SuperLinkID</code>.
16      
17      @param id
18      *            the id to retrieve the top goal for
19      @return the top goal
20      */
21     public Goal getTopPriorityGoal(SuperLinkID id);
22 
23     /**
24      * Request a goal to be extracted from requester with specified id. This
25      * request is added to the requester queue.
26      
27      @param id
28      *            the id of the requester
29      */
30     public void request(SuperLinkID id);
31 
32 }