|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.image.renderable.ParameterBlock | +--javax.media.jai.ParameterBlockJAI
A convenience subclass of ParameterBlock
that
allows the use of default parameter values and getting/setting
sources and parameters by name. A ParameterBlockJAI
is
constructed using either an OperationDescriptor
,
or an operation name (that will be looked up in the appropriate
default OperationRegistry
) and a mode which should
be in OperationDescriptor.getSupportedModes()
(such
as rendered, renderable, collection or renderableCollection). If
the mode is not specified ParameterBlockJAI
will by
default work with the first mode in the array of String
s
returned by OperationDescriptor.getSupportedModes()
.
Once constructed, a ParameterBlockJAI
appears to
have no sources. It contains all the parameters required by its
OperationDescriptor
for a specified mode, each having
its default value as given by the OperationDescriptor
.
Such a ParameterBlockJAI
may not yet be usable, its
sources (if any) are not set, and some or all of its parameters may
have inapproriate values. The addSource
methods of
ParameterBlock
may be used to initialize the source values,
and the set(value, index)
methods may be used to modify
new parameter values. The preferred way of setting parameter values
is the setParameter(name, value)
described below. The
add()
methods should not be used since the parameter
list is already long enough to hold all of the parameters required by
the OperationDescriptor
.
Additionally, ParameterBlockJAI
offers
setParameter(name, value)
methods that take a
parameter name; the index of the parameter is determined from the
OperationDescriptor
and the corresponding parameter
is set. (users are strongly recommended to use this method
instead of the equivalent set(value, index)
or
the deprecated set(value, name)
methods). As in
ParameterBlock
, all parameters are stored internally
as subclasses of Object and all get/set methods that take or return
values of primitive types are simply convenience methods that transform
values between the primitive types and their corresponding wrapper classes
subclasses.
The OperationDescriptor
that is used to initialize
a ParameterBlockJAI
at construction is not
serializable and thus cannot be serialized using the default
serialization mechanism. The operation name is serialized instead and
included in the serialized ParameterBlockJAI
stream.
During de-serialization, the operation name is de-serialized and then
looked up in the default OperationRegistry
available at
the time of de-serialization. If no OperationDescriptor
has been registered with this OperationRegistry
under the given operation name, a NotSerializableException will
be thrown. The serialization of ParameterBlockJAI
works correctly only if the OperationDescriptor
registered for the operation name in question is identical to the
OperationDescriptor
that was registered with the
OperationRegistry
available at serialization time.
All parameter names are treated in a case-insensitive but retentive manner.
Warning: Serialized objects of this class will not be compatible with future releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of JAI. A future release of JAI will provide support for long term persistence.
Fields inherited from class java.awt.image.renderable.ParameterBlock |
parameters, sources |
Constructor Summary | |
ParameterBlockJAI(OperationDescriptor odesc)
Constructs a ParameterBlockJAI for
use with an operation described by a particular
OperationDescriptor . |
|
ParameterBlockJAI(OperationDescriptor odesc,
String modeName)
Constructs a ParameterBlockJAI for
use with an operation described by a particular
OperationDescriptor and a registry mode. |
|
ParameterBlockJAI(String operationName)
Constructs a ParameterBlockJAI for a particular
operation by name. |
|
ParameterBlockJAI(String operationName,
String modeName)
Constructs a ParameterBlockJAI for a
particular operation by name and a registry mode. |
Method Summary | |
ParameterBlock |
add(Object obj)
Adds an object to the list of parameters. |
Object |
clone()
Creates a copy of a ParameterBlockJAI . |
boolean |
getBooleanParameter(String paramName)
A convenience method to return a parameter as a boolean . |
byte |
getByteParameter(String paramName)
A convenience method to return a parameter as a byte . |
char |
getCharParameter(String paramName)
A convenience method to return a parameter as a char . |
double |
getDoubleParameter(String paramName)
A convenience method to return a parameter as a double . |
float |
getFloatParameter(String paramName)
A convenience method to return a parameter as a float . |
int |
getIntParameter(String paramName)
A convenience method to return a parameter as an int . |
long |
getLongParameter(String paramName)
A convenience method to return a parameter as a long . |
String |
getMode()
Get the operation mode used to determine parameter names, classes and default values. |
Object |
getObjectParameter(String paramName)
Gets a named parameter as an Object. |
OperationDescriptor |
getOperationDescriptor()
Returns the OperationDescriptor associated with this
ParameterBlockJAI . |
Class[] |
getParamClasses()
Returns an array of Class objects describing the types
of the parameters. |
ParameterListDescriptor |
getParameterListDescriptor()
Returns the ParameterListDescriptor that provides
descriptions of the parameters associated with the operator
and mode. |
short |
getShortParameter(String paramName)
A convenience method to return a parameter as an short . |
int |
indexOf(String paramName)
Deprecated. as of JAI 1.1 - use "indexOfParam" instead. |
int |
indexOfParam(String paramName)
Returns the zero-relative index of a named parameter within the list of parameters. |
int |
indexOfSource(String sourceName)
Returns the zero-relative index of a named source within the list of sources. |
ParameterBlock |
set(byte b,
String paramName)
Deprecated. as of JAI 1.1 - use setParameter instead. |
ParameterBlock |
set(char c,
String paramName)
Deprecated. as of JAI 1.1 - use setParameter instead. |
ParameterBlock |
set(double d,
String paramName)
Deprecated. as of JAI 1.1 - use setParameter instead. |
ParameterBlock |
set(float f,
String paramName)
Deprecated. as of JAI 1.1 - use setParameter instead. |
ParameterBlock |
set(int i,
String paramName)
Deprecated. as of JAI 1.1 - use setParameter instead. |
ParameterBlock |
set(long l,
String paramName)
Deprecated. as of JAI 1.1 - use setParameter instead. |
ParameterBlock |
set(Object obj,
int index)
Replaces an Object in the list of parameters. |
ParameterBlock |
set(Object obj,
String paramName)
Deprecated. as of JAI 1.1 - use setParameter instead. |
ParameterBlock |
set(short s,
String paramName)
Deprecated. as of JAI 1.1 - use setParameter instead. |
ParameterList |
setParameter(String paramName,
boolean b)
Sets a named parameter to a boolean value. |
ParameterList |
setParameter(String paramName,
byte b)
Sets a named parameter to a byte value. |
ParameterList |
setParameter(String paramName,
char c)
Sets a named parameter to a char value. |
ParameterList |
setParameter(String paramName,
double d)
Sets a named parameter to a double value. |
ParameterList |
setParameter(String paramName,
float f)
Sets a named parameter to a float value. |
ParameterList |
setParameter(String paramName,
int i)
Sets a named parameter to an int value. |
ParameterList |
setParameter(String paramName,
long l)
Sets a named parameter to a long value. |
ParameterList |
setParameter(String paramName,
Object obj)
Sets a named parameter to an Object value. |
ParameterList |
setParameter(String paramName,
short s)
Sets a named parameter to a short value. |
void |
setParameters(Vector parameters)
Sets the entire Vector of parameters to a given
Vector . |
ParameterBlockJAI |
setSource(String sourceName,
Object source)
Sets a named source to a given Object value. |
Methods inherited from class java.awt.image.renderable.ParameterBlock |
add, add, add, add, add, add, add, addSource, getByteParameter, getCharParameter, getDoubleParameter, getFloatParameter, getIntParameter, getLongParameter, getNumParameters, getNumSources, getObjectParameter, getParameters, getRenderableSource, getRenderedSource, getShortParameter, getSource, getSources, removeParameters, removeSources, set, set, set, set, set, set, set, setSource, setSources, shallowClone |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ParameterBlockJAI(OperationDescriptor odesc)
ParameterBlockJAI
for
use with an operation described by a particular
OperationDescriptor
. It uses the first
mode in the array of String
s returned by
OperationDescriptor.getSupportedModes()
to get the ParameterListDescriptor
from
OperationDescriptor
. The default values of the
parameters are filled in.odesc
- the OperationDescriptor describing the parameters
to be managed.IllegalArgumentException
- if odesc is nullpublic ParameterBlockJAI(String operationName)
ParameterBlockJAI
for a particular
operation by name. The OperationRegistry
associated
with the default instance of the JAI
class is used
to locate the OperationDescriptor
associated with
the operation name.
It uses the first mode in the array of String
s
returned by OperationDescriptor.getSupportedModes()
to get the ParameterListDescriptor
from
OperationDescriptor
. The default values of the
parameters are filled in.operationName
- a String
giving the name of the operation.IllegalArgumentException
- if operationName is null.public ParameterBlockJAI(OperationDescriptor odesc, String modeName)
ParameterBlockJAI
for
use with an operation described by a particular
OperationDescriptor
and a registry mode. The default
values of the parameters are filled in.odesc
- the OperationDescriptor describing the parameters
to be managed.modeName
- the operation mode whose paramters are to be managed.IllegalArgumentException
- if modeName is null or odesc is nullpublic ParameterBlockJAI(String operationName, String modeName)
ParameterBlockJAI
for a
particular operation by name and a registry mode. The
OperationRegistry
associated with the default
instance of the JAI
class is used to locate the
OperationDescriptor
associated with the operation
name. The default values of the parameters are filled in.operationName
- a String
giving the name of the
operation.modeName
- the operation mode whose paramters are to be managed.IllegalArgumentException
- if operationName or modeName is nullMethod Detail |
public int indexOfSource(String sourceName)
sourceName
- a String
containing the parameter name.IllegalArgumentException
- if source is null or if there is
no source with the specified name.public int indexOfParam(String paramName)
paramName
- a String
containing the parameter name.IllegalArgumentException
- if paramName is null or if there is
no parameter with the specified name.public OperationDescriptor getOperationDescriptor()
OperationDescriptor
associated with this
ParameterBlockJAI
.public ParameterListDescriptor getParameterListDescriptor()
ParameterListDescriptor
that provides
descriptions of the parameters associated with the operator
and mode.getParameterListDescriptor
in interface ParameterList
public String getMode()
public ParameterBlockJAI setSource(String sourceName, Object source)
Object
value.sourceName
- a String
naming a source.source
- an Object
value for the source.IllegalArgumentException
- if source
is null.IllegalArgumentException
- if sourceName
is null.IllegalArgumentException
- if source
is not
an instance of (any of) the
expected class(es).IllegalArgumentException
- if the associated operation has
no source with the supplied name.public Class[] getParamClasses()
Class
objects describing the types
of the parameters. This is a more efficient implementation than that
of the superclass as the parameter classes are known a priori.getParamClasses
in class ParameterBlock
public Object getObjectParameter(String paramName)
int
, will be returned as a
member of the corresponding Number
subclass, such as
Integer
.getObjectParameter
in interface ParameterList
paramName
- the name of the parameter to be returned.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalStateException
- if the parameter value is still
ParameterListDescriptor.NO_PARAMETER_DEFAULTpublic byte getByteParameter(String paramName)
byte
. An
exception will be thrown if the parameter is of a different
type.getByteParameter
in interface ParameterList
paramName
- the name of the parameter to be returned.IllegalArgumentException
- if there is no parameter with the
specified name.ClassCastException
- if the parameter is of a different type.IllegalStateException
- if the parameter value is still
ParameterListDescriptor.NO_PARAMETER_DEFAULTpublic boolean getBooleanParameter(String paramName)
boolean
. An
exception will be thrown if the parameter is of a different
type.getBooleanParameter
in interface ParameterList
paramName
- the name of the parameter to be returned.IllegalArgumentException
- if there is no parameter with the
specified name.ClassCastException
- if the parameter is of a different type.IllegalStateException
- if the parameter value is still
ParameterListDescriptor.NO_PARAMETER_DEFAULTpublic char getCharParameter(String paramName)
char
. An
exception will be thrown if the parameter is of a different
type.getCharParameter
in interface ParameterList
paramName
- the name of the parameter to be returned.IllegalArgumentException
- if there is no parameter with the
specified name.ClassCastException
- if the parameter is of a different type.IllegalStateException
- if the parameter value is still
ParameterListDescriptor.NO_PARAMETER_DEFAULTpublic short getShortParameter(String paramName)
short
. An
exception will be thrown if the parameter is of a different
type.getShortParameter
in interface ParameterList
paramName
- the name of the parameter to be returned.IllegalArgumentException
- if there is no parameter with the
specified name.ClassCastException
- if the parameter is of a different type.IllegalStateException
- if the parameter value is still
ParameterListDescriptor.NO_PARAMETER_DEFAULTpublic int getIntParameter(String paramName)
int
. An
exception will be thrown if the parameter is of a different
type.getIntParameter
in interface ParameterList
paramName
- the name of the parameter to be returned.IllegalArgumentException
- if there is no parameter with the
specified name.ClassCastException
- if the parameter is of a different type.IllegalStateException
- if the parameter value is still
ParameterListDescriptor.NO_PARAMETER_DEFAULTpublic long getLongParameter(String paramName)
long
. An
exception will be thrown if the parameter is of a different
type.getLongParameter
in interface ParameterList
paramName
- the name of the parameter to be returned.IllegalArgumentException
- if there is no parameter with the
specified name.ClassCastException
- if the parameter is of a different type.IllegalStateException
- if the parameter value is still
ParameterListDescriptor.NO_PARAMETER_DEFAULTpublic float getFloatParameter(String paramName)
float
. An
exception will be thrown if the parameter is of a different
type.getFloatParameter
in interface ParameterList
paramName
- the name of the parameter to be returned.IllegalArgumentException
- if there is no parameter with the
specified name.ClassCastException
- if the parameter is of a different type.IllegalStateException
- if the parameter value is still
ParameterListDescriptor.NO_PARAMETER_DEFAULTpublic double getDoubleParameter(String paramName)
double
. An
exception will be thrown if the parameter is of a different
type.getDoubleParameter
in interface ParameterList
paramName
- the name of the parameter to be returned.IllegalArgumentException
- if there is no parameter with the
specified name.ClassCastException
- if the parameter is of a different type.IllegalStateException
- if the parameter value is still
ParameterListDescriptor.NO_PARAMETER_DEFAULTpublic ParameterList setParameter(String paramName, byte b)
byte
value.
Checks are made to verify that the parameter is of the right
Class
type and that the value is valid.setParameter
in interface ParameterList
paramName
- a String
naming a parameter.b
- a byte
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalArgumentException
- if the class type of parameter
pointed to by the paramName is not a Byte
IllegalArgumentException
- if the parameter value is invalid.public ParameterList setParameter(String paramName, boolean b)
boolean
value.
Checks are made to verify that the parameter is of the right
Class
type and that the value is valid.setParameter
in interface ParameterList
paramName
- a String
naming a parameter.b
- a boolean
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalArgumentException
- if the class type of parameter
pointed to by the paramName is not a Boolean
IllegalArgumentException
- if the parameter value is invalid.public ParameterList setParameter(String paramName, char c)
char
value.
Checks are made to verify that the parameter is of the right
Class
type and that the value is valid.setParameter
in interface ParameterList
paramName
- a String
naming a parameter.c
- a char
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalArgumentException
- if the class type of parameter
pointed to by the paramName is not a Character
IllegalArgumentException
- if the parameter value is invalid.public ParameterList setParameter(String paramName, short s)
short
value.
Checks are made to verify that the parameter is of the right
Class
type and that the value is valid.setParameter
in interface ParameterList
paramName
- a String
naming a parameter.s
- a short
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalArgumentException
- if the class type of parameter
pointed to by the paramName is not a Short
IllegalArgumentException
- if the parameter value is invalid.public ParameterList setParameter(String paramName, int i)
int
value.
Checks are made to verify that the parameter is of the right
Class
type and that the value is valid.setParameter
in interface ParameterList
paramName
- a String
naming a parameter.i
- an int
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalArgumentException
- if the class type of parameter
pointed to by the paramName is not a Integer
IllegalArgumentException
- if the parameter value is invalid.public ParameterList setParameter(String paramName, long l)
long
value.
Checks are made to verify that the parameter is of the right
Class
type and that the value is valid.setParameter
in interface ParameterList
paramName
- a String
naming a parameter.l
- a long
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalArgumentException
- if the class type of parameter
pointed to by the paramName is not a Long
IllegalArgumentException
- if the parameter value is invalid.public ParameterList setParameter(String paramName, float f)
float
value.
Checks are made to verify that the parameter is of the right
Class
type and that the value is valid.setParameter
in interface ParameterList
paramName
- a String
naming a parameter.f
- a float
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalArgumentException
- if the class type of parameter
pointed to by the paramName is not a Float
IllegalArgumentException
- if the parameter value is invalid.public ParameterList setParameter(String paramName, double d)
double
value.
Checks are made to verify that the parameter is of the right
Class
type and that the value is valid.setParameter
in interface ParameterList
paramName
- a String
naming a parameter.d
- a double
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalArgumentException
- if the class type of parameter
pointed to by the paramName is not a Double
IllegalArgumentException
- if the parameter value is invalid.public ParameterList setParameter(String paramName, Object obj)
Object
value. The value
may be null
, an instance of the class expected for this
parameter, or a DeferredData
instance the
getDataClass()
method of which returns the
expected class. If the object is a DeferredData
instance,
then its wrapped data value is checked for validity if and only if
its isValid()
method returns true
. If the
object is not a DeferredData
instance, then it is
always checked for validity.setParameter
in interface ParameterList
paramName
- a String
naming a parameter.obj
- an Object
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.IllegalArgumentException
- if the parameter value is invalid.public ParameterBlock add(Object obj)
IllegalStateException
because the ParameterBlockJAI
constructor initializes
all parameters with their default values.add
in class ParameterBlock
IllegalStateException
- if parameters are added to an already
initialized ParameterBlockJAIpublic ParameterBlock set(Object obj, int index)
set
in class ParameterBlock
obj
- The new value of the parameter.index
- The zero-relative index of the parameter.ArrayIndexOutOfBoundsException
- if index
is negative or not less than the number of parameters
expected for the associated operation.IllegalArgumentException
- if obj
is
non-null
and not an instance of the class
expected for the indicated parameter or if obj
is an invalid value for the indicated parameter.public void setParameters(Vector parameters)
Vector
of parameters to a given
Vector
. The Vector
is saved by reference.setParameters
in class ParameterBlock
IllegalArgumentException
- if the size of the supplied
Vector
does not equal the number of parameters
of the associated operation.IllegalArgumentException
- if a non-null
,
non-DeferredData
value is not an instance of
the class expected for the indicated parameter or if
obj
is an invalid value for the indicated
parameter.IllegalArgumentException
- if a non-null
,
DeferredData
value does not wrap an instance of
the class expected for the indicated parameter or if it is
valid but its wrapped value is invalid for the indicated
parameter.public int indexOf(String paramName)
paramName
- a String
containing the parameter name.IllegalArgumentException
- if paramName is null or if there is
no parameter with the specified name.indexOfParam(java.lang.String)
public ParameterBlock set(byte b, String paramName)
setParameter
instead.
byte
value.paramName
- a String
naming a parameter.b
- a byte
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.setParameter(String, byte)
public ParameterBlock set(char c, String paramName)
setParameter
instead.
char
value.paramName
- a String
naming a parameter.c
- a char
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.setParameter(String, char)
public ParameterBlock set(short s, String paramName)
setParameter
instead.
paramName
- a String
naming a parameter.s
- a short value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.setParameter(String, short)
public ParameterBlock set(int i, String paramName)
setParameter
instead.
int
value.paramName
- a String
naming a parameter.i
- an int
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.setParameter(String, int)
public ParameterBlock set(long l, String paramName)
setParameter
instead.
long
value.paramName
- a String
naming a parameter.l
- a long
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.setParameter(String, long)
public ParameterBlock set(float f, String paramName)
setParameter
instead.
float
value.paramName
- a String
naming a parameter.f
- a float
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.setParameter(String, float)
public ParameterBlock set(double d, String paramName)
setParameter
instead.
double
value.paramName
- a String
naming a parameter.d
- a double
value for the parameter.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.setParameter(String, double)
public ParameterBlock set(Object obj, String paramName)
setParameter
instead.
paramName
- a String
naming a parameter.obj
- an Object value for the parameter.IllegalArgumentException
- if obj is null, or if the class
type of obj does not match the class type of parameter
pointed to by the paramName.IllegalArgumentException
- if paramName is null.IllegalArgumentException
- if there is no parameter with the
specified name.setParameter(String, Object)
public Object clone()
ParameterBlockJAI
. The source
and parameter Vectors are cloned, but the actual sources and
parameters are copied by reference. This allows modifications to
the order and number of sources and parameters in the clone to be
invisible to the original ParameterBlockJAI
. Changes
to the shared sources or parameters themselves will still be
visible.clone
in class ParameterBlock
ParameterBlockJAI
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |