| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectix.icore.IXAgent
ix.ip2.Ip2
ix.iplan.IPlan
ix.iplan.PlannerBase
public abstract class PlannerBase
A base class for GUI-less planners. Chiefly contains utility methods.
| Nested Class Summary | 
|---|
| Nested classes/interfaces inherited from class ix.ip2.Ip2 | 
|---|
Ip2.AddExtensionsHandler, Ip2.AddHandlersHandler | 
| Field Summary | 
|---|
| Fields inherited from class ix.ip2.Ip2 | 
|---|
activityViewer, agentTypeName, annotationViewer, controller, domain, frame, issueViewer, logoImage, logoLine1, logoLine2, modelManager, optionManager, resetHooks, showOptions, stateViewer | 
| Fields inherited from class ix.icore.IXAgent | 
|---|
contactManager, displayName, eventLogger, exitHooks, initialDisplayName, ipcName, ipcStrategyName, iSimTimer, mainAgent, nameListeners, startupDate, startupHooks, symbolName, textFrame | 
| Constructor Summary | |
|---|---|
PlannerBase(boolean standAlone)
 | 
|
| Method Summary | |
|---|---|
protected  void | 
addHandlers()
Install any built-in issue and activity handlers.  | 
protected  void | 
completeStartup()
Called in the AWT event thread to make the main GUI frame visible and perform any additional setup that ought to be done in that thread.  | 
 PlanStats | 
getStatistics()
Returns statistics gathered by the most recent Planner.plan()
 or Planner.replan(). | 
 void | 
handleInput(IPC.InputMessage message)
Handles external input in the form of an IPC.InputMessage that contains an object such as an Issue, Activity, or Report.  | 
protected  void | 
initOptions()
 | 
 boolean | 
isStandAlone()
 | 
protected  java.lang.Object | 
makeInstance(java.lang.String className)
 | 
protected  void | 
outputOwlSPlan()
 | 
protected  void | 
outputPlan()
 | 
protected  void | 
outputPlanPSGraphData(Plan plan)
 | 
 void | 
plan()
Finds a plan that is a completion of this planner's current plan and makes it the new current plan.  | 
 void | 
replan()
Finds the next in a series of plans that are completions of the plan that was current when Planner.plan() was
 most recently called. | 
protected  void | 
startServer(java.lang.Object agentName,
            java.lang.String strategyName)
Set the main (global) IPC communication strategy and set up to receive messages by calling the strategy's setupServer method.  | 
 void | 
startup()
Completes setup and initialization.  | 
| Methods inherited from class ix.iplan.IPlan | 
|---|
displayFrame, main, makeDefaultPlanner, makeIp2Frame, makeModelManager, setDomain | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Methods inherited from interface ix.iplan.Planner | 
|---|
getPlan, loadPlan, setDomain | 
| Constructor Detail | 
|---|
public PlannerBase(boolean standAlone)
| Method Detail | 
|---|
public boolean isStandAlone()
public void plan()
PlannerA successful call to plan() leaves this planner in a
 state in which Planner.replan() can be called.
plan in interface Plannerpublic void replan()
PlannerPlanner.plan() was
 most recently called.  That completion then becomes the
 new current plan.  You can think of this as reconsidering
 some choice made when producing earlier plans in the sequence
 and making different decision at that point.  However, it
 is not guaranteed that the plan found in this way will
 be interestingly different from all of the earlier plans
 in the sequence.
 The replan() method should not be called if plan() has not been called or if this planner has thrown an exception.
A successful call to replan() leaves this planner in a
 state in which Planner.replan() can be called again.
 plan() may be called instead, but this will begin a new
 sequence of plans based on this planner's now current plan,
 rather than on the plan that was the base for the previous
 sequence.
replan in interface Plannerpublic PlanStats getStatistics()
PlannerPlanner.plan()
 or Planner.replan().
getStatistics in interface Plannerpublic void startup()
startup in class Ip2
protected void startServer(java.lang.Object agentName,
                           java.lang.String strategyName)
IXAgent"enqueue-incoming-messages"
 parameter is true, it uses a BufferedMessageListener so
 that the thread that supplies a message need't wait for the
 message to be processed by the panel; otherwise, a plain
 MessageListener is used.  In both cases, the listener delivers
 the message by calling IXAgent.pre_handleInput(IPC.InputMessage),
 but a buffered listener has its own thread that waits for that
 call to return before looking for the next message.
startServer in class IXAgentIPC, 
IPC.setupServer(Object, IPC.MessageListener), 
IPC.BufferedMessageListenerprotected void completeStartup()
Ip2
completeStartup in class Ip2Ip2Frame.becomeVisible()public void handleInput(IPC.InputMessage message)
IXAgenthandleNewIssue, 
 handleNewReport, etc as appropriate.
handleInput in class Ip2protected void addHandlers()
IPlan
addHandlers in class IPlanprotected void initOptions()
initOptions in class IPlanprotected void outputPlan()
protected void outputPlanPSGraphData(Plan plan)
protected void outputOwlSPlan()
                       throws java.io.IOException
java.io.IOExceptionprotected java.lang.Object makeInstance(java.lang.String className)
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||