public abstract class ComputeCell
extends java.lang.Object
Modifier | Constructor and Description |
---|---|
protected |
ComputeCell(java.lang.String name,
visad.DataReference[] inRefs,
visad.Data initValue)
Constructs from a name for the instance and the input and output data
references.
|
Modifier and Type | Method and Description |
---|---|
void |
clean()
Cleans this instance.
|
protected abstract visad.Data |
compute(visad.Data[] datums)
Computes the output data objects.
|
boolean |
disableRef(visad.DataReference ref)
Disables an input data reference.
|
void |
enableAllInputRefs()
Enables all input data references.
|
visad.DataReference[] |
getInputRefs()
Returns the input data references.
|
visad.DataReference |
getOutputRef()
Returns the data references to the output data objects.
|
protected static visad.FlatField |
noDataField(visad.RealType rangeType)
Convenience method for creating an empty atmospheric profile of a given
parameter.
|
java.lang.String |
toString()
Returns a string representation of this instance.
|
protected ComputeCell(java.lang.String name, visad.DataReference[] inRefs, visad.Data initValue) throws visad.RemoteVisADException, visad.VisADException, java.rmi.RemoteException
ActionImpl
will be the name
of this instance with the suffix ".action". The input and output
data references arrays are cloned. Subclasses should invoke enableAllInputRefs()
at the end of their construction to start the
DataReference
s-listening thread.name
- The name for the instance.inRefs
- The input DataReference
s.initValue
- The initial value of the output data.visad.RemoteVisADException
- if initValue
is a
RemoteData
.java.lang.NullPointerException
- if any argument is null
or if
an input data reference is
null
.visad.VisADException
- if a VisAD failure occurs.java.rmi.RemoteException
- if a Java RMI failure occurs.public final visad.DataReference[] getInputRefs()
public final visad.DataReference getOutputRef()
public final void enableAllInputRefs() throws visad.VisADException, java.rmi.RemoteException
java.lang.NullPointerException
- if an input data reference is
null
.visad.VisADException
- if a VisAD failure occurs.java.rmi.RemoteException
- if a Java RMI failure occurs.public final boolean disableRef(visad.DataReference ref) throws visad.VisADException, java.rmi.RemoteException
ref
- The input data reference to disable.java.lang.NullPointerException
- if the argument is null
.visad.VisADException
- if a VisAD failure occurs.java.rmi.RemoteException
- if a Java RMI failure occurs.protected abstract visad.Data compute(visad.Data[] datums) throws visad.TypeException, visad.VisADException, java.rmi.RemoteException
ActionImpl
. It is the subclass's
responsibility of to set the output data references.datums
- The input data in the same order as during
construction (i.e. datums[i]
corresponds to inRefs[i]
.java.lang.ClassCastException
- if an input data reference has the wrong
type of VisAD data object (e.g. a Real
instead of a
Field
).visad.TypeException
- if the internal details of a VisAD data
object are wrong (e.g. incompatible unit).visad.VisADException
- if a VisAD failure occurs.java.rmi.RemoteException
- if a Java RMI failure occurs.public final void clean() throws visad.VisADException, java.rmi.RemoteException
ActionImpl
and the action is stopped.
This instance may be reused after invoking this method,visad.VisADException
- if a VisAD failure occurs.java.rmi.RemoteException
- if a Java RMI failure occurs.public final java.lang.String toString()
toString
in class java.lang.Object
protected static visad.FlatField noDataField(visad.RealType rangeType) throws visad.VisADException, java.rmi.RemoteException
rangeType
- The type of parameter.visad.VisADException
- if a VisAD failure occurs.java.rmi.RemoteException
- if a Java RMI failure occurs.