unsw.cse.mica.runner
Class ProcessHandler

java.lang.Object
  extended by java.util.Observable
      extended by unsw.cse.mica.runner.ProcessHandler
All Implemented Interfaces:
java.util.Observer
Direct Known Subclasses:
AgentHandler, BlackboardHandler

public abstract class ProcessHandler
extends java.util.Observable
implements java.util.Observer

An abstract class for handling the child processes. It is inherited by specific classes for the blackboard and for agents.

Author:
jhw

Field Summary
static java.lang.String PROCESS_MESSAGE_INITIALISED
           
static java.lang.String PROCESS_MESSAGE_INITIALISING
           
static java.lang.String PROCESS_MESSAGE_PREFIX
           
static java.lang.String PROCESS_MESSAGE_TERMINATED
           
static java.lang.String PROCESS_MESSAGE_TERMINATING
           
static java.lang.String STATE_INITIALISING
           
static java.lang.String STATE_PENDING
           
static java.lang.String STATE_READY
           
static java.lang.String STATE_RUNNING
           
static java.lang.String STATE_TERMINATING
           
static java.lang.String UPDATE_RESTART
           
static java.lang.String UPDATE_STATE
           
 
Constructor Summary
ProcessHandler(java.lang.String name, ProcessSettings settings)
           
 
Method Summary
 void addRequired(ProcessHandler required)
           
 java.lang.String getName()
           
 java.io.OutputStream getOutputStream()
           
 javax.swing.JFrame getParentFrame()
           
 java.lang.String getState()
           
 void kill()
          main call to destroy the child process
 void setChangedNotify(java.lang.String msg)
           
 void setOutputStream(java.io.OutputStream output)
           
 void setParentFrame(javax.swing.JFrame parentFrame)
           
 void start()
          Non-blocking start of the child process
 void terminate()
          main call to terminate the child process
 java.lang.String toString()
           
 void update(java.util.Observable o, java.lang.Object arg)
           
 
Methods inherited from class java.util.Observable
addObserver, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

UPDATE_STATE

public static final java.lang.String UPDATE_STATE
See Also:
Constant Field Values

UPDATE_RESTART

public static final java.lang.String UPDATE_RESTART
See Also:
Constant Field Values

STATE_PENDING

public static final java.lang.String STATE_PENDING
See Also:
Constant Field Values

STATE_INITIALISING

public static final java.lang.String STATE_INITIALISING
See Also:
Constant Field Values

STATE_RUNNING

public static final java.lang.String STATE_RUNNING
See Also:
Constant Field Values

STATE_TERMINATING

public static final java.lang.String STATE_TERMINATING
See Also:
Constant Field Values

STATE_READY

public static final java.lang.String STATE_READY
See Also:
Constant Field Values

PROCESS_MESSAGE_PREFIX

public static final java.lang.String PROCESS_MESSAGE_PREFIX
See Also:
Constant Field Values

PROCESS_MESSAGE_INITIALISING

public static final java.lang.String PROCESS_MESSAGE_INITIALISING
See Also:
Constant Field Values

PROCESS_MESSAGE_INITIALISED

public static final java.lang.String PROCESS_MESSAGE_INITIALISED
See Also:
Constant Field Values

PROCESS_MESSAGE_TERMINATING

public static final java.lang.String PROCESS_MESSAGE_TERMINATING
See Also:
Constant Field Values

PROCESS_MESSAGE_TERMINATED

public static final java.lang.String PROCESS_MESSAGE_TERMINATED
See Also:
Constant Field Values
Constructor Detail

ProcessHandler

public ProcessHandler(java.lang.String name,
                      ProcessSettings settings)
Method Detail

getName

public java.lang.String getName()

setOutputStream

public void setOutputStream(java.io.OutputStream output)

getOutputStream

public java.io.OutputStream getOutputStream()

setParentFrame

public void setParentFrame(javax.swing.JFrame parentFrame)

getParentFrame

public javax.swing.JFrame getParentFrame()

getState

public java.lang.String getState()

addRequired

public void addRequired(ProcessHandler required)

start

public void start()
Non-blocking start of the child process


terminate

public void terminate()
main call to terminate the child process


kill

public void kill()
main call to destroy the child process


setChangedNotify

public void setChangedNotify(java.lang.String msg)

update

public void update(java.util.Observable o,
                   java.lang.Object arg)
Specified by:
update in interface java.util.Observer

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object