|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.Observable
javax.media.jai.DeferredData
public abstract class DeferredData
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.
DeferredProperty
,
RenderedOp
,
Serialized FormField Summary | |
---|---|
protected 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 | |
---|---|
protected abstract Object |
computeData()
Computes the value of the data object wrapped by this object. |
Object |
getData()
Returns the object wrapped by this DeferredData . |
Class |
getDataClass()
Returns the class of the object wrapped by this DeferredData. |
boolean |
isValid()
Whether the data value has already been computed. |
protected void |
setData(Object data)
Sets the instance variable associated with the data to the supplied parameter. |
Methods inherited from class java.util.Observable |
---|
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Class dataClass
protected transient Object data
transient
so that subclasses are obligated to provide
specific serialization methods if they desire that this field be
serialized.
Constructor Detail |
---|
protected DeferredData(Class dataClass)
DeferredData
wrapper for an object of the
indicated class. The parameter must be non-null
or an
IllegalArgumentException
will be thrown.
IllegalArgumentException
- if dataClass
is
null
.Method Detail |
---|
public Class getDataClass()
public boolean isValid()
true
if and inly if the internal data value is
non-null
, i.e., has already been computed.protected abstract Object computeData()
public final Object getData()
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()
.
protected final void setData(Object data)
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()
.
IllegalArgumentException
- if data
is
non-null
and not an instance of the class
specified at construction.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |