java.awt.image.renderable
Class ParameterBlock

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by java.awt.image.renderable.ParameterBlock
All Implemented Interfaces:
Serializable sample code for java.io.Serializable definition code for java.io.Serializable , Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable

public class ParameterBlock
extends Object sample code for java.lang.Object definition code for java.lang.Object
implements Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable , Serializable sample code for java.io.Serializable definition code for java.io.Serializable

A ParameterBlock encapsulates all the information about sources and parameters (Objects) required by a RenderableImageOp, or other classes that process images.

Although it is possible to place arbitrary objects in the source Vector, users of this class may impose semantic constraints such as requiring all sources to be RenderedImages or RenderableImage. ParameterBlock itself is merely a container and performs no checking on source or parameter types.

All parameters in a ParameterBlock are objects; convenience add and set methods are available that take arguments of base type and construct the appropriate subclass of Number (such as Integer or Float). Corresponding get methods perform a downward cast and have return values of base type; an exception will be thrown if the stored values do not have the correct type. There is no way to distinguish between the results of "short s; add(s)" and "add(new Short(s))".

Note that the get and set methods operate on references. Therefore, one must be careful not to share references between ParameterBlocks when this is inappropriate. For example, to create a new ParameterBlock that is equal to an old one except for an added source, one might be tempted to write:

 ParameterBlock addSource(ParameterBlock pb, RenderableImage im) {
     ParameterBlock pb1 = new ParameterBlock(pb.getSources());
     pb1.addSource(im);
     return pb1;
 }
 

This code will have the side effect of altering the original ParameterBlock, since the getSources operation returned a reference to its source Vector. Both pb and pb1 share their source Vector, and a change in either is visible to both.

A correct way to write the addSource function is to clone the source Vector:

 ParameterBlock addSource (ParameterBlock pb, RenderableImage im) {
     ParameterBlock pb1 = new ParameterBlock(pb.getSources().clone());
     pb1.addSource(im);
     return pb1;
 }
 

The clone method of ParameterBlock has been defined to perform a clone of both the source and parameter Vectors for this reason. A standard, shallow clone is available as shallowClone.

The addSource, setSource, add, and set methods are defined to return 'this' after adding their argument. This allows use of syntax like:

 ParameterBlock pb = new ParameterBlock();
 op = new RenderableImageOp("operation", pb.add(arg1).add(arg2));
 

See Also:
Serialized Form

Field Summary
protected  Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > parameters sample code for java.awt.image.renderable.ParameterBlock.parameters definition code for java.awt.image.renderable.ParameterBlock.parameters
          A Vector of non-source parameters, stored as arbitrary Objects.
protected  Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > sources sample code for java.awt.image.renderable.ParameterBlock.sources definition code for java.awt.image.renderable.ParameterBlock.sources
          A Vector of sources, stored as arbitrary Objects.
 
Constructor Summary
ParameterBlock sample code for java.awt.image.renderable.ParameterBlock.ParameterBlock() definition code for java.awt.image.renderable.ParameterBlock.ParameterBlock() ()
          A dummy constructor.
ParameterBlock sample code for java.awt.image.renderable.ParameterBlock.ParameterBlock(java.util.Vector) definition code for java.awt.image.renderable.ParameterBlock.ParameterBlock(java.util.Vector) (Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > sources)
          Constructs a ParameterBlock with a given Vector of sources.
ParameterBlock sample code for java.awt.image.renderable.ParameterBlock.ParameterBlock(java.util.Vector, java.util.Vector) definition code for java.awt.image.renderable.ParameterBlock.ParameterBlock(java.util.Vector, java.util.Vector) (Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > sources, Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > parameters)
          Constructs a ParameterBlock with a given Vector of sources and Vector of parameters.
 
Method Summary
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock add sample code for java.awt.image.renderable.ParameterBlock.add(byte) definition code for java.awt.image.renderable.ParameterBlock.add(byte) (byte b)
          Adds a Byte to the list of parameters.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock add sample code for java.awt.image.renderable.ParameterBlock.add(char) definition code for java.awt.image.renderable.ParameterBlock.add(char) (char c)
          Adds a Character to the list of parameters.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock add sample code for java.awt.image.renderable.ParameterBlock.add(double) definition code for java.awt.image.renderable.ParameterBlock.add(double) (double d)
          Adds a Double to the list of parameters.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock add sample code for java.awt.image.renderable.ParameterBlock.add(float) definition code for java.awt.image.renderable.ParameterBlock.add(float) (float f)
          Adds a Float to the list of parameters.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock add sample code for java.awt.image.renderable.ParameterBlock.add(int) definition code for java.awt.image.renderable.ParameterBlock.add(int) (int i)
          Adds a Integer to the list of parameters.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock add sample code for java.awt.image.renderable.ParameterBlock.add(long) definition code for java.awt.image.renderable.ParameterBlock.add(long) (long l)
          Adds a Long to the list of parameters.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock add sample code for java.awt.image.renderable.ParameterBlock.add(java.lang.Object) definition code for java.awt.image.renderable.ParameterBlock.add(java.lang.Object) (Object sample code for java.lang.Object definition code for java.lang.Object  obj)
          Adds an object to the list of parameters.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock add sample code for java.awt.image.renderable.ParameterBlock.add(short) definition code for java.awt.image.renderable.ParameterBlock.add(short) (short s)
          Adds a Short to the list of parameters.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock addSource sample code for java.awt.image.renderable.ParameterBlock.addSource(java.lang.Object) definition code for java.awt.image.renderable.ParameterBlock.addSource(java.lang.Object) (Object sample code for java.lang.Object definition code for java.lang.Object  source)
          Adds an image to end of the list of sources.
 Object sample code for java.lang.Object definition code for java.lang.Object clone sample code for java.awt.image.renderable.ParameterBlock.clone() definition code for java.awt.image.renderable.ParameterBlock.clone() ()
          Creates a copy of a ParameterBlock.
 byte getByteParameter sample code for java.awt.image.renderable.ParameterBlock.getByteParameter(int) definition code for java.awt.image.renderable.ParameterBlock.getByteParameter(int) (int index)
          A convenience method to return a parameter as a byte.
 char getCharParameter sample code for java.awt.image.renderable.ParameterBlock.getCharParameter(int) definition code for java.awt.image.renderable.ParameterBlock.getCharParameter(int) (int index)
          A convenience method to return a parameter as a char.
 double getDoubleParameter sample code for java.awt.image.renderable.ParameterBlock.getDoubleParameter(int) definition code for java.awt.image.renderable.ParameterBlock.getDoubleParameter(int) (int index)
          A convenience method to return a parameter as a double.
 float getFloatParameter sample code for java.awt.image.renderable.ParameterBlock.getFloatParameter(int) definition code for java.awt.image.renderable.ParameterBlock.getFloatParameter(int) (int index)
          A convenience method to return a parameter as a float.
 int getIntParameter sample code for java.awt.image.renderable.ParameterBlock.getIntParameter(int) definition code for java.awt.image.renderable.ParameterBlock.getIntParameter(int) (int index)
          A convenience method to return a parameter as an int.
 long getLongParameter sample code for java.awt.image.renderable.ParameterBlock.getLongParameter(int) definition code for java.awt.image.renderable.ParameterBlock.getLongParameter(int) (int index)
          A convenience method to return a parameter as a long.
 int getNumParameters sample code for java.awt.image.renderable.ParameterBlock.getNumParameters() definition code for java.awt.image.renderable.ParameterBlock.getNumParameters() ()
          Returns the number of parameters (not including source images).
 int getNumSources sample code for java.awt.image.renderable.ParameterBlock.getNumSources() definition code for java.awt.image.renderable.ParameterBlock.getNumSources() ()
          Returns the number of source images.
 Object sample code for java.lang.Object definition code for java.lang.Object getObjectParameter sample code for java.awt.image.renderable.ParameterBlock.getObjectParameter(int) definition code for java.awt.image.renderable.ParameterBlock.getObjectParameter(int) (int index)
          Gets a parameter as an object.
 Class sample code for java.lang.Class definition code for java.lang.Class [] getParamClasses sample code for java.awt.image.renderable.ParameterBlock.getParamClasses() definition code for java.awt.image.renderable.ParameterBlock.getParamClasses() ()
          Returns an array of Class objects describing the types of the parameters.
 Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > getParameters sample code for java.awt.image.renderable.ParameterBlock.getParameters() definition code for java.awt.image.renderable.ParameterBlock.getParameters() ()
          Returns the entire Vector of parameters.
 RenderableImage sample code for java.awt.image.renderable.RenderableImage definition code for java.awt.image.renderable.RenderableImage getRenderableSource sample code for java.awt.image.renderable.ParameterBlock.getRenderableSource(int) definition code for java.awt.image.renderable.ParameterBlock.getRenderableSource(int) (int index)
          Returns a source as a RenderableImage.
 RenderedImage sample code for java.awt.image.RenderedImage definition code for java.awt.image.RenderedImage getRenderedSource sample code for java.awt.image.renderable.ParameterBlock.getRenderedSource(int) definition code for java.awt.image.renderable.ParameterBlock.getRenderedSource(int) (int index)
          Returns a source as a RenderedImage.
 short getShortParameter sample code for java.awt.image.renderable.ParameterBlock.getShortParameter(int) definition code for java.awt.image.renderable.ParameterBlock.getShortParameter(int) (int index)
          A convenience method to return a parameter as a short.
 Object sample code for java.lang.Object definition code for java.lang.Object getSource sample code for java.awt.image.renderable.ParameterBlock.getSource(int) definition code for java.awt.image.renderable.ParameterBlock.getSource(int) (int index)
          Returns a source as a general Object.
 Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > getSources sample code for java.awt.image.renderable.ParameterBlock.getSources() definition code for java.awt.image.renderable.ParameterBlock.getSources() ()
          Returns the entire Vector of sources.
 void removeParameters sample code for java.awt.image.renderable.ParameterBlock.removeParameters() definition code for java.awt.image.renderable.ParameterBlock.removeParameters() ()
          Clears the list of parameters.
 void removeSources sample code for java.awt.image.renderable.ParameterBlock.removeSources() definition code for java.awt.image.renderable.ParameterBlock.removeSources() ()
          Clears the list of source images.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock set sample code for java.awt.image.renderable.ParameterBlock.set(byte, int) definition code for java.awt.image.renderable.ParameterBlock.set(byte, int) (byte b, int index)
          Replaces an Object in the list of parameters with a Byte.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock set sample code for java.awt.image.renderable.ParameterBlock.set(char, int) definition code for java.awt.image.renderable.ParameterBlock.set(char, int) (char c, int index)
          Replaces an Object in the list of parameters with a Character.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock set sample code for java.awt.image.renderable.ParameterBlock.set(double, int) definition code for java.awt.image.renderable.ParameterBlock.set(double, int) (double d, int index)
          Replaces an Object in the list of parameters with a Double.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock set sample code for java.awt.image.renderable.ParameterBlock.set(float, int) definition code for java.awt.image.renderable.ParameterBlock.set(float, int) (float f, int index)
          Replaces an Object in the list of parameters with a Float.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock set sample code for java.awt.image.renderable.ParameterBlock.set(int, int) definition code for java.awt.image.renderable.ParameterBlock.set(int, int) (int i, int index)
          Replaces an Object in the list of parameters with an Integer.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock set sample code for java.awt.image.renderable.ParameterBlock.set(long, int) definition code for java.awt.image.renderable.ParameterBlock.set(long, int) (long l, int index)
          Replaces an Object in the list of parameters with a Long.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock set sample code for java.awt.image.renderable.ParameterBlock.set(java.lang.Object, int) definition code for java.awt.image.renderable.ParameterBlock.set(java.lang.Object, int) (Object sample code for java.lang.Object definition code for java.lang.Object  obj, int index)
          Replaces an Object in the list of parameters.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock set sample code for java.awt.image.renderable.ParameterBlock.set(short, int) definition code for java.awt.image.renderable.ParameterBlock.set(short, int) (short s, int index)
          Replaces an Object in the list of parameters with a Short.
 void setParameters sample code for java.awt.image.renderable.ParameterBlock.setParameters(java.util.Vector) definition code for java.awt.image.renderable.ParameterBlock.setParameters(java.util.Vector) (Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > parameters)
          Sets the entire Vector of parameters to a given Vector.
 ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock setSource sample code for java.awt.image.renderable.ParameterBlock.setSource(java.lang.Object, int) definition code for java.awt.image.renderable.ParameterBlock.setSource(java.lang.Object, int) (Object sample code for java.lang.Object definition code for java.lang.Object  source, int index)
          Replaces an entry in the list of source with a new source.
 void setSources sample code for java.awt.image.renderable.ParameterBlock.setSources(java.util.Vector) definition code for java.awt.image.renderable.ParameterBlock.setSources(java.util.Vector) (Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > sources)
          Sets the entire Vector of sources to a given Vector.
 Object sample code for java.lang.Object definition code for java.lang.Object shallowClone sample code for java.awt.image.renderable.ParameterBlock.shallowClone() definition code for java.awt.image.renderable.ParameterBlock.shallowClone() ()
          Creates a shallow copy of a ParameterBlock.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Field Detail

sources sample code for java.awt.image.renderable.ParameterBlock.sources

protected Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > sources
A Vector of sources, stored as arbitrary Objects.


parameters sample code for java.awt.image.renderable.ParameterBlock.parameters

protected Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > parameters
A Vector of non-source parameters, stored as arbitrary Objects.

Constructor Detail

ParameterBlock sample code for java.awt.image.renderable.ParameterBlock() definition code for java.awt.image.renderable.ParameterBlock()

public ParameterBlock()
A dummy constructor.


ParameterBlock sample code for java.awt.image.renderable.ParameterBlock(java.util.Vector<java.lang.Object>) definition code for java.awt.image.renderable.ParameterBlock(java.util.Vector<java.lang.Object>)

public ParameterBlock(Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > sources)
Constructs a ParameterBlock with a given Vector of sources.

Parameters:
sources - a Vector of source images

ParameterBlock sample code for java.awt.image.renderable.ParameterBlock(java.util.Vector<java.lang.Object>, java.util.Vector<java.lang.Object>) definition code for java.awt.image.renderable.ParameterBlock(java.util.Vector<java.lang.Object>, java.util.Vector<java.lang.Object>)

public ParameterBlock(Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > sources,
                      Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > parameters)
Constructs a ParameterBlock with a given Vector of sources and Vector of parameters.

Parameters:
sources - a Vector of source images
parameters - a Vector of parameters to be used in the rendering operation
Method Detail

shallowClone sample code for java.awt.image.renderable.ParameterBlock.shallowClone() definition code for java.awt.image.renderable.ParameterBlock.shallowClone()

public Object sample code for java.lang.Object definition code for java.lang.Object  shallowClone()
Creates a shallow copy of a ParameterBlock. The source and parameter Vectors are copied by reference -- additions or changes will be visible to both versions.

Returns:
an Object clone of the ParameterBlock.

clone sample code for java.awt.image.renderable.ParameterBlock.clone() definition code for java.awt.image.renderable.ParameterBlock.clone()

public Object sample code for java.lang.Object definition code for java.lang.Object  clone()
Creates a copy of a ParameterBlock. 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 ParameterBlock. Changes to the shared sources or parameters themselves will still be visible.

Overrides:
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() in class Object sample code for java.lang.Object definition code for java.lang.Object
Returns:
an Object clone of the ParameterBlock.
See Also:
Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable

addSource sample code for java.awt.image.renderable.ParameterBlock.addSource(java.lang.Object) definition code for java.awt.image.renderable.ParameterBlock.addSource(java.lang.Object)

public ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock  addSource(Object sample code for java.lang.Object definition code for java.lang.Object  source)
Adds an image to end of the list of sources. The image is stored as an object in order to allow new node types in the future.

Parameters:
source - an image object to be stored in the source list.
Returns:
a new ParameterBlock containing the specified source.

getSource sample code for java.awt.image.renderable.ParameterBlock.getSource(int) definition code for java.awt.image.renderable.ParameterBlock.getSource(int)

public Object sample code for java.lang.Object definition code for java.lang.Object  getSource(int index)
Returns a source as a general Object. The caller must cast it into an appropriate type.

Parameters:
index - the index of the source to be returned.
Returns:
an Object that represents the source located at the specified index in the sources Vector.
See Also:
setSource(Object, int) sample code for java.awt.image.renderable.ParameterBlock.setSource(java.lang.Object, int) definition code for java.awt.image.renderable.ParameterBlock.setSource(java.lang.Object, int)

setSource sample code for java.awt.image.renderable.ParameterBlock.setSource(java.lang.Object, int) definition code for java.awt.image.renderable.ParameterBlock.setSource(java.lang.Object, int)

public ParameterBlock sample code for java.awt.image.renderable.ParameterBlock definition code for java.awt.image.renderable.ParameterBlock  setSource(Object sample code for java.lang.Object definition code for java.lang.Object  source,
                                int index)
Replaces an entry in the list of source with a new source. If the index lies beyond the current source list, the list is extended with nulls as needed.

Parameters:
source - the specified source image
index - the index into the sources Vector at which to insert the specified source
Returns:
a new ParameterBlock that contains the specified source at the specified index.
See Also:
getSource(int) sample code for java.awt.image.renderable.ParameterBlock.getSource(int) definition code for java.awt.image.renderable.ParameterBlock.getSource(int)

getRenderedSource sample code for java.awt.image.renderable.ParameterBlock.getRenderedSource(int) definition code for java.awt.image.renderable.ParameterBlock.getRenderedSource(int)

public RenderedImage sample code for java.awt.image.RenderedImage definition code for java.awt.image.RenderedImage  getRenderedSource(int index)
Returns a source as a RenderedImage. This method is a convenience method. An exception will be thrown if the source is not a RenderedImage.

Parameters:
index - the index of the source to be returned
Returns:
a RenderedImage that represents the source image that is at the specified index in the sources Vector.

getRenderableSource sample code for java.awt.image.renderable.ParameterBlock.getRenderableSource(int) definition code for java.awt.image.renderable.ParameterBlock.getRenderableSource(int)

public RenderableImage sample code for java.awt.image.renderable.RenderableImage definition code for java.awt.image.renderable.RenderableImage  getRenderableSource(int index)
Returns a source as a RenderableImage. This method is a convenience method. An exception will be thrown if the sources is not a RenderableImage.

Parameters:
index - the index of the source to be returned
Returns:
a RenderableImage that represents the source image that is at the specified index in the sources Vector.

getNumSources sample code for java.awt.image.renderable.ParameterBlock.getNumSources() definition code for java.awt.image.renderable.ParameterBlock.getNumSources()

public int getNumSources()
Returns the number of source images.

Returns:
the number of source images in the sources Vector.

getSources sample code for java.awt.image.renderable.ParameterBlock.getSources() definition code for java.awt.image.renderable.ParameterBlock.getSources()

public Vector sample code for java.util.Vector definition code for java.util.Vector <Object sample code for java.lang.Object definition code for java.lang.Object > getSources()
Returns the entire Vector of sources.

Returns:
the sources Vector.
See Also:
setSources(Vector) sample code for java.awt.image.renderable.ParameterBlock.setSources(java.util.Vector) definition code for java.awt.image.renderable.ParameterBlock.setSources(java.util.Vector)

setSources