package mil.navy.nps.relate; import java.util.*; /******************************************************************************* *

This interface implements the RELATE Role.

* *

A Role object brings additional capabilities and responsibilities * to a host Agent. This can include, but is not limited to, sensors, * goals (with their associated Rules), and methods to act upon itself * and its environment.

* * @author Michael R. Dickson * @author Kimberly A. Roddy * @version 1.0, 17 Aug 00 * @since JDK1.3 ******************************************************************************* */ public interface Role { /******************************************************************************* * Adds the passed in Goal to the goalList. * @param pGoal ******************************************************************************* */ public void addNewGoal( Goal pGoal ); /******************************************************************************* * Removes the Goal from the goalList. * @param pGoal * @return The success of the removal operation: *
  • true - The Goal was successfully removed *
  • false - The Goal did not exist in the Role's goalList ******************************************************************************* */ public boolean removeGoal( Goal pGoal ); /******************************************************************************* * Getter for goalList * @return goalList vector ******************************************************************************* */ public Vector getGoalListVec(); /******************************************************************************* * Getter for sensorList * @return sensorList vector ******************************************************************************* */ public Vector getSensorListVec(); /******************************************************************************* * Setter for sensorList * @param pSensorList ******************************************************************************* */ public void setSensorList( Vector pSensorList ); /******************************************************************************* * Removes the indicated sensor from the sensorList * @param pSensor An integer representing the sensor to be removed * @return The success of the removal operation: *
  • true - The sensor was successfully removed *
  • false - The sensor did not exist in the Role's sensorList ******************************************************************************* */ public boolean removeSensor( Sensor pSensor ); /******************************************************************************* * Adds the indicated sensor to the sensorList * @param pSensor An integer representing the sensor to be added ******************************************************************************* */ public void addSensor( Sensor pSensor ); /******************************************************************************* * Getter for actionList. Returns a Vector containing a list of integers * representing all of the actions available to the agent due to this Role * @return actionList ******************************************************************************* */ public Vector getActionListVec(); /******************************************************************************* * Setter for actionList. Replaces the actionList Vector with a new list of * integers representing all of the actions available to the agent due to * this Role * @param pActionList ******************************************************************************* */ public void setActionList( Vector pActionList ); /******************************************************************************* * Removes the indicated action from the actionList * @param pAction The action to be removed * @return The success of the removal operation: *
  • true - The action was successfully removed *
  • false - The action did not exist in the Role's actionList ******************************************************************************* */ public boolean removeAction( Action pAction ); /******************************************************************************* * Adds the indicated action to the actionList * @param pAction The action to be added ******************************************************************************* */ public void addAction( Action pAction); /******************************************************************************* * Sets the role name of the role object, this should be the exact class name * of the role. * @param pRoleName The role name ******************************************************************************* */ public void setRoleName( String pRoleName); /******************************************************************************* * Gets the role name * @return The "string" role name. ******************************************************************************* */ public String getRoleName( ); }// end Role interface