ix.iplan
Class IPlanOptionManager

java.lang.Object
  extended by ix.iplan.IPlanOptionManager

public class IPlanOptionManager
extends java.lang.Object

Manages options for an instance of IPlan or Ip2.


Nested Class Summary
static class IPlanOptionManager.ModelHolder
           
static class IPlanOptionManager.NoPlanEvent
           
 class IPlanOptionManager.Opt
           
static class IPlanOptionManager.PlanEvent
           
protected  class IPlanOptionManager.PlanGen
          Finds plans for options.
static class IPlanOptionManager.PseudoMessage
           
(package private)  class IPlanOptionManager.ReportMessage
           
(package private)  class IPlanOptionManager.ResetHook
           
(package private) static class IPlanOptionManager.SyncMessage
           
static class IPlanOptionManager.UndoEvent
           
 
Field Summary
(package private)  java.lang.String contextDepartureReason
           
(package private)  IPlanOptionManager.Opt currentOption
           
(package private)  int inUndoableTransaction
           
(package private)  Ip2 ip2
           
(package private)  Gensym.Generator nameGen
           
(package private)  java.util.SortedMap nameToOptionMap
           
(package private)  boolean noticePlanChangeEvents
           
(package private)  boolean nowUndoing
           
(package private)  IPlanOptionManager.Opt optionForInput
           
(package private)  java.util.List optionListeners
           
(package private)  PlanEvalManager planEvalManager
           
(package private)  boolean planSplitsOption
           
(package private)  java.util.List specialInputQueue
           
(package private)  boolean useOnlyOneOption
           
(package private)  boolean warnUserOfDelayedInput
           
(package private)  boolean warnUserOfDelayedReport
           
 
Constructor Summary
IPlanOptionManager(Ip2 ip2)
           
 
Method Summary
 void addOptionListener(OptionListener listener)
           
 void beginUndoableTransaction(java.lang.String note)
           
 boolean canTakeInput()
           
(package private)  java.lang.String childName(java.lang.String parentName, int i)
           
 void clearOption()
           
 void clearOptionAllButState()
           
 void connectYourself()
           
 void copyOption(java.lang.String newName)
           
 void deleteOption()
           
 void deleteOptions(java.util.List selected)
           
(package private)  void deliverEnqueuedInput()
           
(package private)  Context departContext(java.lang.String reason)
           
 void endUndoableTransaction(java.lang.String note)
           
(package private)  void enqueueInput(IPC.InputMessage message)
           
(package private)  void fireOptionAdded(IPlanOptionManager.Opt opt)
           
(package private)  void fireOptionContentsChanged(IPlanOptionManager.Opt opt, java.util.EventObject how)
           
(package private)  void fireOptionDeleted(IPlanOptionManager.Opt opt)
           
(package private)  void fireOptionRenamed(IPlanOptionManager.Opt opt, java.lang.String oldName)
           
(package private)  void fireOptionSet(IPlanOptionManager.Opt opt)
           
 java.util.SortedMap getNameToOptionMap()
           
 IPlanOptionManager.Opt getOption()
           
(package private)  IPlanOptionManager.Opt getOption(java.lang.String name)
           
 IPlanOptionManager.Opt getOptionForInput()
           
(package private)  java.util.SortedMap getOptionsAsPlans()
          Returns a map from option names to Plans.
 java.util.List getPlanEvaluators()
           
 PlanStats getStats()
           
 java.util.List<UndoAction> getUndoTrail()
           
 void handleReportWhenOptions(IPC.InputMessage message)
           
 void initOneOption()
           
 void initOptions()
           
 void loadOptions(java.lang.String directoryName)
           
(package private)  Predicate1 makePlanFilter()
           
(package private)  void makeTopLevelOptions(java.lang.String directoryName, java.util.SortedMap plans)
           
 void markUndoPoint(java.lang.String note)
           
 void newOption(java.lang.String name)
           
(package private)  java.lang.String nextSiblingName(java.lang.String baseName)
           
(package private)  boolean optionNameIsAvailable(java.lang.String name)
           
(package private)  java.lang.String parentName(java.lang.String childName)
           
 boolean plan()
           
(package private)  void planChangeEvent(java.util.EventObject e)
           
 void printUndoTrail()
           
protected  void printUndoTrail(int indent, int max, java.util.LinkedList trail)
           
protected  void printUndoTrail(IPlanOptionManager.Opt option)
           
 java.util.SortedMap readPlans(java.lang.String directoryName)
          Returns a map from (file / option) names to Plans.
 void recordDelayedInput(IPC.InputMessage message)
           
(package private)  void reloadViewers()
           
 void renameOption(java.lang.String newName)
           
 void replan()
           
(package private)  void restoreContext(Context saved)
           
 void saveUndoAction(UndoAction un)
           
(package private)  void setInitialCurrentOption()
           
(package private)  void setInitialCurrentOption(IPlanOptionManager.Opt option)
           
protected  void setOption(IPlanOptionManager.Opt option)
           
 void setOption(java.lang.String name)
           
 void setOptionForInput(IPlanOptionManager.Opt option)
           
 void setOptionForInput(java.lang.String name)
           
 void splitOption()
           
 void syncState(java.util.List selectedRecipients)
           
 void undo()
           
 void undoableTransaction(java.lang.String note, java.lang.Runnable r)
          Packages an undoable transaction as one method call.
protected  boolean undoIsActive()
           
(package private)  java.lang.String wantOptionName(java.lang.String name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ip2

Ip2 ip2

nameToOptionMap

java.util.SortedMap nameToOptionMap

currentOption

IPlanOptionManager.Opt currentOption

optionForInput

IPlanOptionManager.Opt optionForInput

warnUserOfDelayedInput

boolean warnUserOfDelayedInput

warnUserOfDelayedReport

boolean warnUserOfDelayedReport

useOnlyOneOption

boolean useOnlyOneOption

planSplitsOption

boolean planSplitsOption

optionListeners

java.util.List optionListeners

noticePlanChangeEvents

boolean noticePlanChangeEvents

inUndoableTransaction

int inUndoableTransaction

nowUndoing

boolean nowUndoing

nameGen

Gensym.Generator nameGen

planEvalManager

PlanEvalManager planEvalManager

contextDepartureReason

java.lang.String contextDepartureReason

specialInputQueue

java.util.List specialInputQueue
Constructor Detail

IPlanOptionManager

public IPlanOptionManager(Ip2 ip2)
Method Detail

getPlanEvaluators

public java.util.List getPlanEvaluators()

connectYourself

public void connectYourself()

planChangeEvent

void planChangeEvent(java.util.EventObject e)

makePlanFilter

Predicate1 makePlanFilter()

initOneOption

public void initOneOption()

initOptions

public void initOptions()

setInitialCurrentOption

void setInitialCurrentOption()

setInitialCurrentOption

void setInitialCurrentOption(IPlanOptionManager.Opt option)

loadOptions

public void loadOptions(java.lang.String directoryName)

makeTopLevelOptions

void makeTopLevelOptions(java.lang.String directoryName,
                         java.util.SortedMap plans)

getNameToOptionMap

public java.util.SortedMap getNameToOptionMap()

getOption

IPlanOptionManager.Opt getOption(java.lang.String name)

childName

java.lang.String childName(java.lang.String parentName,
                           int i)

parentName

java.lang.String parentName(java.lang.String childName)

nextSiblingName

java.lang.String nextSiblingName(java.lang.String baseName)

optionNameIsAvailable

boolean optionNameIsAvailable(java.lang.String name)

wantOptionName

java.lang.String wantOptionName(java.lang.String name)

getOption

public IPlanOptionManager.Opt getOption()

setOption

public void setOption(java.lang.String name)

setOption

protected void setOption(IPlanOptionManager.Opt option)

departContext

Context departContext(java.lang.String reason)

restoreContext

void restoreContext(Context saved)

enqueueInput

void enqueueInput(IPC.InputMessage message)

deliverEnqueuedInput

void deliverEnqueuedInput()

getOptionForInput

public IPlanOptionManager.Opt getOptionForInput()

setOptionForInput

public void setOptionForInput(java.lang.String name)

setOptionForInput

public void setOptionForInput(IPlanOptionManager.Opt option)

canTakeInput

public boolean canTakeInput()

recordDelayedInput

public void recordDelayedInput(IPC.InputMessage message)

handleReportWhenOptions

public void handleReportWhenOptions(IPC.InputMessage message)

newOption

public void newOption(java.lang.String name)

copyOption

public void copyOption(java.lang.String newName)

renameOption

public void renameOption(java.lang.String newName)

splitOption

public void splitOption()

plan

public boolean plan()

replan

public void replan()

getStats

public PlanStats getStats()

clearOption

public void clearOption()

clearOptionAllButState

public void clearOptionAllButState()

deleteOption

public void deleteOption()

deleteOptions

public void deleteOptions(java.util.List selected)

syncState

public void syncState(java.util.List selectedRecipients)

undo

public void undo()

undoIsActive

protected final boolean undoIsActive()

markUndoPoint

public void markUndoPoint(java.lang.String note)

saveUndoAction

public void saveUndoAction(UndoAction un)

undoableTransaction

public void undoableTransaction(java.lang.String note,
                                java.lang.Runnable r)
Packages an undoable transaction as one method call.

See Also:
Ip2ModelManager.undoableTransaction(String, Runnable)

beginUndoableTransaction

public void beginUndoableTransaction(java.lang.String note)

endUndoableTransaction

public void endUndoableTransaction(java.lang.String note)

getUndoTrail

public java.util.List<UndoAction> getUndoTrail()

printUndoTrail

public void printUndoTrail()

printUndoTrail

protected void printUndoTrail(IPlanOptionManager.Opt option)

printUndoTrail

protected void printUndoTrail(int indent,
                              int max,
                              java.util.LinkedList trail)

addOptionListener

public void addOptionListener(OptionListener listener)

fireOptionSet

void fireOptionSet(IPlanOptionManager.Opt opt)

fireOptionAdded

void fireOptionAdded(IPlanOptionManager.Opt opt)

fireOptionRenamed

void fireOptionRenamed(IPlanOptionManager.Opt opt,
                       java.lang.String oldName)

fireOptionContentsChanged

void fireOptionContentsChanged(IPlanOptionManager.Opt opt,
                               java.util.EventObject how)

fireOptionDeleted

void fireOptionDeleted(IPlanOptionManager.Opt opt)

readPlans

public java.util.SortedMap readPlans(java.lang.String directoryName)
Returns a map from (file / option) names to Plans.


getOptionsAsPlans

java.util.SortedMap getOptionsAsPlans()
Returns a map from option names to Plans.


reloadViewers

void reloadViewers()