frysk.gui.monitor.observers
Class TaskSignaledObserver

java.lang.Object
  extended by frysk.gui.monitor.GuiObject
      extended by frysk.gui.monitor.observers.ObserverRoot
          extended by frysk.gui.monitor.observers.TaskObserverRoot
              extended by frysk.gui.monitor.observers.TaskSignaledObserver
All Implemented Interfaces:
SaveableXXX, Observer, TaskObserver, TaskObserver.Signaled

public class TaskSignaledObserver
extends TaskObserverRoot
implements TaskObserver.Signaled


Nested Class Summary
 
Nested classes/interfaces inherited from interface frysk.proc.TaskObserver
TaskObserver.Cloned, TaskObserver.Code, TaskObserver.Execed, TaskObserver.Forked, TaskObserver.Instruction, TaskObserver.Signaled, TaskObserver.Syscalls, TaskObserver.Terminated, TaskObserver.Terminating, TaskObserver.Watch
 
Field Summary
 TaskActionPoint taskActionPoint
           
 TaskFilterPoint taskFilterPoint
           
 
Fields inherited from class frysk.gui.monitor.observers.ObserverRoot
genericActionPoint
 
Fields inherited from class frysk.gui.monitor.GuiObject
propertiesChanged
 
Constructor Summary
  TaskSignaledObserver()
          TaskSignalObserver.
protected TaskSignaledObserver(TaskSignaledObserver other)
          TaskSignalObserver.
 
Method Summary
 void apply(Task task)
           
private  void bottomHalf(Task task, Signal signal)
           
private  boolean filter(Task task)
           
protected  GuiObject getCopy()
           
private  void runActions(Task task, Signal signal)
           
private  boolean runFilters(Task task, Signal signal)
           
 void unapply(Task task)
           
 Action updateSignaled(Task task, Signal signal)
          The SIGNAL is pending delivery to the task.
 
Methods inherited from class frysk.gui.monitor.observers.TaskObserverRoot
addedTo, apply, deletedFrom, unapply
 
Methods inherited from class frysk.gui.monitor.observers.ObserverRoot
addActionPoint, addFailed, addFilterPoint, getActionPoints, getBaseName, getCurrentAction, getCurrentActionCombos, getCurrentFilterCombos, getFilterPoints, getInfo, load, runActions, save, setInfo, setReturnAction, whatActionShouldBeReturned
 
Methods inherited from class frysk.gui.monitor.GuiObject
dontSaveObject, doSaveObject, getName, getSummary, getToolTip, setName, setSummay, setToolTip, shouldSaveObject, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface frysk.proc.Observer
addedTo, addFailed, deletedFrom
 
Methods inherited from interface frysk.gui.monitor.SaveableXXX
dontSaveObject, doSaveObject, shouldSaveObject
 

Field Detail

taskFilterPoint

public TaskFilterPoint taskFilterPoint

taskActionPoint

public TaskActionPoint taskActionPoint
Constructor Detail

TaskSignaledObserver

public TaskSignaledObserver()
TaskSignalObserver. Extends TaskObserverRoot and implements TaskObserver.Signaled Provides functionality for the Signaled Frysk Core observer in the UI.


TaskSignaledObserver

protected TaskSignaledObserver(TaskSignaledObserver other)
TaskSignalObserver. Extends TaskObserverRoot and implements TaskObserver.Signaled Provides functionality for the Signaled Frysk Core observer in the UI. Produces a new TaskSignalOberser from the observer passed as a parameter. This is used in cloning the observer.

Method Detail

apply

public void apply(Task task)
Specified by:
apply in class TaskObserverRoot

unapply

public void unapply(Task task)
Specified by:
unapply in class TaskObserverRoot

updateSignaled

public Action updateSignaled(Task task,
                             Signal signal)
Description copied from interface: TaskObserver.Signaled
The SIGNAL is pending delivery to the task. Return Action.BLOCK to block the task's further execution. XXX: This gets weird. At present and in theory, a client wanting to discard a signal would need to sequence the following: tell the task to scrub discard the signal; tell the task to remove this observer from the set of blockers; return Action.BLOCK so that this task is added to the set of blockers. Perhaps it would be better to always add an observer to the blocker pool and then require explict removal.

Specified by:
updateSignaled in interface TaskObserver.Signaled

bottomHalf

private void bottomHalf(Task task,
                        Signal signal)

runActions

private void runActions(Task task,
                        Signal signal)

runFilters

private boolean runFilters(Task task,
                           Signal signal)

getCopy

protected GuiObject getCopy()
Overrides:
getCopy in class ObserverRoot

filter

private boolean filter(Task task)