| java.lang.Object java.util.Observable javax.media.jai.DeferredData
All known Subclasses: javax.media.jai.DeferredProperty,
DeferredData | abstract public class DeferredData extends Observable implements Serializable(Code) | | Class to be used as a wrapper for data which will be calculated
at a later time. For example, an instance of a subclass of this
class may be passed as a parameter in the ParameterBlock
set on a RenderedOp node. The data wrapped by the
DeferredData object will not however actually be
requested until the node is rendered.
See Also: DeferredProperty See Also: RenderedOp since: JAI 1.1 |
Field Summary | |
protected transient Object | data The data wrapped by this class. | protected Class | dataClass The class of the wrapped data. |
Constructor Summary | |
protected | DeferredData(Class dataClass) Creates a DeferredData wrapper for an object of the
indicated class. |
Method Summary | |
abstract protected Object | computeData() Computes the value of the data object wrapped by this object. | final public synchronized Object | getData() Returns the object wrapped by this DeferredData . | public Class | getDataClass() Returns the class of the object wrapped by this DeferredData. | public boolean | isValid() Whether the data value has already been computed. | final protected void | setData(Object data) Sets the instance variable associated with the data to the supplied
parameter. |
data | protected transient Object data(Code) | | The data wrapped by this class. This field is marked
transient so that subclasses are obligated to provide
specific serialization methods if they desire that this field be
serialized.
|
dataClass | protected Class dataClass(Code) | | The class of the wrapped data.
|
DeferredData | protected DeferredData(Class dataClass)(Code) | | Creates a DeferredData wrapper for an object of the
indicated class. The parameter must be non-null or an
IllegalArgumentException will be thrown.
throws: IllegalArgumentException - if dataClass isnull . |
computeData | abstract protected Object computeData()(Code) | | Computes the value of the data object wrapped by this object.
The returned object must be an instance of a class assignable
to the class specified at construction.
|
getData | final public synchronized Object getData()(Code) | | Returns the object wrapped by this DeferredData . If
the data have not yet been computed, computeData()
will be invoked to provide the data. If computeData()
is invoked, then setData() will be invoked with
its parameter set to the value returned by computeData() .
|
getDataClass | public Class getDataClass()(Code) | | Returns the class of the object wrapped by this DeferredData.
|
isValid | public boolean isValid()(Code) | | Whether the data value has already been computed.
true if and inly if the internal data value isnon-null , i.e., has already been computed. |
setData | final protected void setData(Object data)(Code) | | Sets the instance variable associated with the data to the supplied
parameter. If the parameter is non-null and not an
instance of the class specified at construction, an
IllegalArgumentException will be thrown. If the
supplied parameter differs from the current data value, then
setChanged() will be invoked and
notifyObservers() will be called with its argument set
to the previous value of the data object. This implies that the
update() method of any registered Observer s
will be invoked with the Observable parameter set to this
DeferredData object and its Object parameter
set to the previous value of the data field of this
DeferredData instance. The current value of the
object can be retrieved by an Observer by casting the
Observable parameter of update() to
DeferredData and invoking getData() . To
avoid provoking computation of deferred data by calling
getData() , isValid() could first be called
to determine whether data is non-null .
If an Observer detects that the data of the observed
DeferredData object is invalid, i.e., null ,
then this indicates that the data should be re-requested by invoking
getData() .
throws: IllegalArgumentException - if data isnon-null and not an instance of the classspecified at construction. |
|
|