visad
Class CellImpl

java.lang.Object
  extended by visad.ActionImpl
      extended by visad.CellImpl
All Implemented Interfaces:
Runnable, EventListener, Action, Cell, ThingChangedListener
Direct Known Subclasses:
SSCellImpl

public abstract class CellImpl
extends ActionImpl
implements Cell

CellImpl is the abstract superclass for computations. It has a set of input DataReferences and an output DataReference, which updates whenever an input changes. Cell is runnable.

CellImpl is not Serializable and should not be copied between JVMs.


Field Summary
 
Fields inherited from class visad.ActionImpl
TRACE_STACK, TRACE_TIME
 
Constructor Summary
CellImpl()
          construct a CellImpl with null name
CellImpl(String name)
          construct a CellImpl
 
Method Summary
abstract  void doAction()
          subclasses of CellImpl implement doAction to execute triggered computation
 DataReference getOtherReference(int index)
           
 void setOtherReference(int index, DataReference ref)
          set a non-triggering link to a DataReference; this is used to give the Cell access to Data without triggering the Cell's doAction whenever the Data changes; these 'other' DataReferences are identified by their integer index
 
Methods inherited from class visad.ActionImpl
addReference, checkTicks, disableAction, enableAction, findReference, getCurrentActionThread, getLinks, getName, getTaskCount, printPool, removeAllReferences, removeReference, run, setEnabled, setName, setThreadPoolMaximum, stop, stopThreadPool, thingChanged, waitForTasks
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface visad.Action
addReference, getName, removeAllReferences, removeReference
 
Methods inherited from interface visad.ThingChangedListener
thingChanged
 

Constructor Detail

CellImpl

public CellImpl()
construct a CellImpl with null name


CellImpl

public CellImpl(String name)
construct a CellImpl

Parameters:
name - - String useful for debugging
Method Detail

doAction

public abstract void doAction()
                       throws VisADException,
                              RemoteException
subclasses of CellImpl implement doAction to execute triggered computation

Specified by:
doAction in class ActionImpl
Throws:
VisADException - - a VisAD error occurred
RemoteException - - an RMI error occurred

setOtherReference

public void setOtherReference(int index,
                              DataReference ref)
                       throws VisADException,
                              RemoteException
set a non-triggering link to a DataReference; this is used to give the Cell access to Data without triggering the Cell's doAction whenever the Data changes; these 'other' DataReferences are identified by their integer index

Specified by:
setOtherReference in interface Cell
Parameters:
index - - identifier of DataReference
ref - - DataReference to be linked
Throws:
VisADException - - a VisAD error occurred
RemoteException - - an RMI error occurred

getOtherReference

public DataReference getOtherReference(int index)
                                throws VisADException,
                                       RemoteException
Specified by:
getOtherReference in interface Cell
Parameters:
index - - identifier of DataReference to return
Returns:
the non-triggering link to a DataReference identified by index
Throws:
VisADException - - a VisAD error occurred
RemoteException - - an RMI error occurred