|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object ix.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()
Planner
A successful call to plan() leaves this planner in a
state in which Planner.replan()
can be called.
plan
in interface Planner
public void replan()
Planner
Planner.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 Planner
public PlanStats getStatistics()
Planner
Planner.plan()
or Planner.replan()
.
getStatistics
in interface Planner
public 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 IXAgent
IPC
,
IPC.setupServer(Object, IPC.MessageListener)
,
IPC.BufferedMessageListener
protected void completeStartup()
Ip2
completeStartup
in class Ip2
Ip2Frame.becomeVisible()
public void handleInput(IPC.InputMessage message)
IXAgent
handleNewIssue
,
handleNewReport
, etc as appropriate.
handleInput
in class Ip2
protected void addHandlers()
IPlan
addHandlers
in class IPlan
protected void initOptions()
initOptions
in class IPlan
protected void outputPlan()
protected void outputPlanPSGraphData(Plan plan)
protected void outputOwlSPlan() throws java.io.IOException
java.io.IOException
protected java.lang.Object makeInstance(java.lang.String className)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |