ix.iplan
Class IPlan

java.lang.Object
  extended by ix.icore.IXAgent
      extended by ix.ip2.Ip2
          extended by ix.iplan.IPlan
Direct Known Subclasses:
PlannerBase

public class IPlan
extends Ip2

An interactive planner. I-Plan is a version of Ip2 that has different handlers, and other changes, to make it more suitable for plan-construction and less suitable for execution.


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
  IPlan()
           
protected IPlan(boolean setAgent)
           
 
Method Summary
protected  void addHandlers()
          Install any built-in issue and activity handlers.
(package private) static java.awt.Component displayFrame()
           
protected  void initOptions()
           
static void main(java.lang.String[] argv)
           
static Planner makeDefaultPlanner()
          Returns a Planner suitable for use within Java.
protected  Ip2Frame makeIp2Frame()
          Called to make the main user interface frame.
protected  ProcessModelManager makeModelManager()
          Called to create this agent's model-manager.
 void setDomain(Domain dom)
           
 
Methods inherited from class ix.ip2.Ip2
addAboutInfo, addForwardingHandler, addHandlers, addResetHook, addTest, addTestMenuItems, addTool, clearAllButState, clearModel, completeStartup, do_reloadViewers, ensureTool, getActivityPatternSyntaxes, getAgentTypeName, getController, getDomain, getFrame, getIp2ModelManager, getModelManager, getOptionManager, getPlan, handleInput, handleInputDirectly, handleNewActivity, handleNewChatMessage, handleNewConstraint, handleNewIssue, handleNewReport, isReloadingViewers, loadDomain, loadInitialPlan, loadPlan, loadPlan, loadPlan, makeActivityViewer, makeAnnotationViewer, makeController, makeIssueViewer, makeLogoPanel, makeStateViewer, makeViewer, processCommandLineArguments, readDomain, readDomain, reloadViewers, reset, resetAllButState, resetViewers, savePlanAs, startup
 
Methods inherited from class ix.icore.IXAgent
addAgentNameListener, addExitHook, addStartupHook, adjustLookAndFeel, displayMessage, do_mainStartup, exit, fireSymbolNameChanged, getAgent, getAgentDisplayName, getAgentIPCName, getAgentStartupDate, getAgentSymbolName, getContactManager, getEventLogger, getISimTimer, getKnownAgents, handleReceivedReport, installAgentExtensions, installAgentExtensions, isMainAgent, log, mainStartup, notePossibleNewContact, pre_handleInput, preprocessInput, reportInputException, setAgentSymbolName, setEventLogger, setupISimTimer, startServer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IPlan

public IPlan()

IPlan

protected IPlan(boolean setAgent)
Method Detail

main

public static void main(java.lang.String[] argv)

setDomain

public void setDomain(Domain dom)

makeDefaultPlanner

public static Planner makeDefaultPlanner()
Returns a Planner suitable for use within Java. This method should normally be used in non-I-X code, rather than instantiating a planner class directly. This method should be called when the current ContextHolder is the right one for the planner to use. The planner will ensure that the current context in that holder is saved and restored around any calls to methods in the Planner interface. This method also ensures that the current context is a new child of the root context when the planner is created.

An implicit assumption is that only one thread will be using the planner at any one time. In a multi-thread environment, it's also necessary to manage contexts carefully, and typically to use a ThreadLocalHoldingStrategy.

See Also:
Context

makeModelManager

protected ProcessModelManager makeModelManager()
Description copied from class: Ip2
Called to create this agent's model-manager.

Overrides:
makeModelManager in class Ip2

makeIp2Frame

protected Ip2Frame makeIp2Frame()
Description copied from class: Ip2
Called to make the main user interface frame. This merely creates the frame, with almost nothing filled in. The frame's Ip2Frame.setUp() is later called to do most of the work.

Overrides:
makeIp2Frame in class Ip2

initOptions

protected void initOptions()
Overrides:
initOptions in class Ip2

displayFrame

static java.awt.Component displayFrame()

addHandlers

protected void addHandlers()
Install any built-in issue and activity handlers.

Overrides:
addHandlers in class Ip2