| 
 | JavaTM 2 Platform Std. Ed. v1.4.2 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjava.awt.image.renderable.ParameterBlock
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));
 
| Field Summary | |
| protected  Vector | parametersA Vector of non-source parameters, stored as arbitrary Objects. | 
| protected  Vector | sourcesA Vector of sources, stored as arbitrary Objects. | 
| Constructor Summary | |
| ParameterBlock()A dummy constructor. | |
| ParameterBlock(Vector sources)Constructs a ParameterBlockwith a given Vector 
 of sources. | |
| ParameterBlock(Vector sources,
               Vector parameters)Constructs a ParameterBlockwith a given Vector of sources and
 Vector of parameters. | |
| Method Summary | |
|  ParameterBlock | add(byte b)Adds a Byte to the list of parameters. | 
|  ParameterBlock | add(char c)Adds a Character to the list of parameters. | 
|  ParameterBlock | add(double d)Adds a Double to the list of parameters. | 
|  ParameterBlock | add(float f)Adds a Float to the list of parameters. | 
|  ParameterBlock | add(int i)Adds a Integer to the list of parameters. | 
|  ParameterBlock | add(long l)Adds a Long to the list of parameters. | 
|  ParameterBlock | add(Object obj)Adds an object to the list of parameters. | 
|  ParameterBlock | add(short s)Adds a Short to the list of parameters. | 
|  ParameterBlock | addSource(Object source)Adds an image to end of the list of sources. | 
|  Object | clone()Creates a copy of a ParameterBlock. | 
|  byte | getByteParameter(int index)A convenience method to return a parameter as a byte. | 
|  char | getCharParameter(int index)A convenience method to return a parameter as a char. | 
|  double | getDoubleParameter(int index)A convenience method to return a parameter as a double. | 
|  float | getFloatParameter(int index)A convenience method to return a parameter as a float. | 
|  int | getIntParameter(int index)A convenience method to return a parameter as an int. | 
|  long | getLongParameter(int index)A convenience method to return a parameter as a long. | 
|  int | getNumParameters()Returns the number of parameters (not including source images). | 
|  int | getNumSources()Returns the number of source images. | 
|  Object | getObjectParameter(int index)Gets a parameter as an object. | 
|  Class[] | getParamClasses()Returns an array of Class objects describing the types of the parameters. | 
|  Vector | getParameters()Returns the entire Vector of parameters. | 
|  RenderableImage | getRenderableSource(int index)Returns a source as a RenderableImage. | 
|  RenderedImage | getRenderedSource(int index)Returns a source as a RenderedImage. | 
|  short | getShortParameter(int index)A convenience method to return a parameter as a short. | 
|  Object | getSource(int index)Returns a source as a general Object. | 
|  Vector | getSources()Returns the entire Vector of sources. | 
|  void | removeParameters()Clears the list of parameters. | 
|  void | removeSources()Clears the list of source images. | 
|  ParameterBlock | set(byte b,
    int index)Replaces an Object in the list of parameters with a Byte. | 
|  ParameterBlock | set(char c,
    int index)Replaces an Object in the list of parameters with a Character. | 
|  ParameterBlock | set(double d,
    int index)Replaces an Object in the list of parameters with a Double. | 
|  ParameterBlock | set(float f,
    int index)Replaces an Object in the list of parameters with a Float. | 
|  ParameterBlock | set(int i,
    int index)Replaces an Object in the list of parameters with an Integer. | 
|  ParameterBlock | set(long l,
    int index)Replaces an Object in the list of parameters with a Long. | 
|  ParameterBlock | set(Object obj,
    int index)Replaces an Object in the list of parameters. | 
|  ParameterBlock | set(short s,
    int index)Replaces an Object in the list of parameters with a Short. | 
|  void | setParameters(Vector parameters)Sets the entire Vector of parameters to a given Vector. | 
|  ParameterBlock | setSource(Object source,
          int index)Replaces an entry in the list of source with a new source. | 
|  void | setSources(Vector sources)Sets the entire Vector of sources to a given Vector. | 
|  Object | shallowClone()Creates a shallow copy of a ParameterBlock. | 
| Methods inherited from class java.lang.Object | 
| equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
protected Vector sources
protected Vector parameters
| Constructor Detail | 
public ParameterBlock()
public ParameterBlock(Vector sources)
ParameterBlock with a given Vector 
 of sources.
sources - a Vector of source images
public ParameterBlock(Vector sources,
                      Vector parameters)
ParameterBlock with a given Vector of sources and
 Vector of parameters.
sources - a Vector of source imagesparameters - a Vector of parameters to be used in the
        rendering operation| Method Detail | 
public Object shallowClone()
ParameterBlock.  The source and
 parameter Vectors are copied by reference -- additions or
 changes will be visible to both versions.
ParameterBlock.public Object clone()
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.
clone in class ObjectParameterBlock.Cloneablepublic ParameterBlock addSource(Object source)
source - an image object to be stored in the source list.
ParameterBlock containing the specified
         source.public Object getSource(int index)
index - the index of the source to be returned.
Object that represents the source located
         at the specified index in the sources
         Vector.setSource(Object, int)
public ParameterBlock setSource(Object source,
                                int index)
source - the specified source imageindex - the index into the sources 
              Vector at which to
              insert the specified source
ParameterBlock that contains the
         specified source at the specified
         index.getSource(int)public RenderedImage getRenderedSource(int index)
RenderedImage.  This method is 
 a convenience method.
 An exception will be thrown if the source is not a RenderedImage.
index - the index of the source to be returned
RenderedImage that represents the source
         image that is at the specified index in the 
         sources Vector.public RenderableImage getRenderableSource(int index)
index - the index of the source to be returned
RenderableImage that represents the source
         image that is at the specified index in the 
         sources Vector.public int getNumSources()
sources
         Vector.public Vector getSources()
sources Vector.setSources(Vector)public void setSources(Vector sources)
sources - the Vector of source imagesgetSources()public void removeSources()
public int getNumParameters()
parameters
         Vector.public Vector getParameters()
parameters Vector.setParameters(Vector)public void setParameters(Vector parameters)
parameters - the specified Vector of
        parametersgetParameters()public void removeParameters()
public ParameterBlock add(Object obj)
obj - the Object to add to the 
            parameters Vector
ParameterBlock containing 
         the specified parameter.public ParameterBlock add(byte b)
b - the byte to add to the 
            parameters Vector
ParameterBlock containing 
         the specified parameter.public ParameterBlock add(char c)
c - the char to add to the 
            parameters Vector
ParameterBlock containing 
         the specified parameter.public ParameterBlock add(short s)
s - the short to add to the 
            parameters Vector
ParameterBlock containing 
         the specified parameter.public ParameterBlock add(int i)
i - the int to add to the 
            parameters Vector
ParameterBlock containing 
         the specified parameter.public ParameterBlock add(long l)
l - the long to add to the 
            parameters Vector
ParameterBlock containing 
         the specified parameter.public ParameterBlock add(float f)
f - the float to add to the 
            parameters Vector
ParameterBlock containing 
         the specified parameter.public ParameterBlock add(double d)
d - the double to add to the 
            parameters Vector
ParameterBlock containing 
         the specified parameter.
public ParameterBlock set(Object obj,
                          int index)
obj - the parameter that replaces the 
        parameter at the specified index in the
        parameters Vectorindex - the index of the parameter to be 
        replaced with the specified parameter
ParameterBlock containing
        the specified parameter.
public ParameterBlock set(byte b,
                          int index)
b - the parameter that replaces the 
        parameter at the specified index in the
        parameters Vectorindex - the index of the parameter to be 
        replaced with the specified parameter
ParameterBlock containing
        the specified parameter.
public ParameterBlock set(char c,
                          int index)
c - the parameter that replaces the 
        parameter at the specified index in the
        parameters Vectorindex - the index of the parameter to be 
        replaced with the specified parameter
ParameterBlock containing
        the specified parameter.
public ParameterBlock set(short s,
                          int index)
s - the parameter that replaces the 
        parameter at the specified index in the
        parameters Vectorindex - the index of the parameter to be 
        replaced with the specified parameter
ParameterBlock containing
        the specified parameter.
public ParameterBlock set(int i,
                          int index)
i - the parameter that replaces the 
        parameter at the specified index in the
        parameters Vectorindex - the index of the parameter to be 
        replaced with the specified parameter
ParameterBlock containing
        the specified parameter.
public ParameterBlock set(long l,
                          int index)
l - the parameter that replaces the 
        parameter at the specified index in the
        parameters Vectorindex - the index of the parameter to be 
        replaced with the specified parameter
ParameterBlock containing
        the specified parameter.
public ParameterBlock set(float f,
                          int index)
f - the parameter that replaces the 
        parameter at the specified index in the
        parameters Vectorindex - the index of the parameter to be 
        replaced with the specified parameter
ParameterBlock containing
        the specified parameter.
public ParameterBlock set(double d,
                          int index)
d - the parameter that replaces the 
        parameter at the specified index in the
        parameters Vectorindex - the index of the parameter to be 
        replaced with the specified parameter
ParameterBlock containing
        the specified parameter.public Object getObjectParameter(int index)
index - the index of the parameter to get
Object representing the
         the parameter at the specified index
         into the parameters
         Vector.public byte getByteParameter(int index)
null or not a Byte.
index - the index of the parameter to be returned.
byte value.
ClassCastException - if the parameter at the
         specified index is not a Byte
NullPointerException - if the parameter at the specified
         index is null
ArrayIndexOutOfBoundsException - if index
         is negative or not less than the current size of this
         ParameterBlock objectpublic char getCharParameter(int index)
null or not a Character.
index - the index of the parameter to be returned.
char value.
ClassCastException - if the parameter at the
         specified index is not a Character
NullPointerException - if the parameter at the specified
         index is null
ArrayIndexOutOfBoundsException - if index
         is negative or not less than the current size of this
         ParameterBlock objectpublic short getShortParameter(int index)
null or not a Short.
index - the index of the parameter to be returned.
short value.
ClassCastException - if the parameter at the
         specified index is not a Short
NullPointerException - if the parameter at the specified
         index is null
ArrayIndexOutOfBoundsException - if index
         is negative or not less than the current size of this
         ParameterBlock objectpublic int getIntParameter(int index)
null or not an Integer.
index - the index of the parameter to be returned.
int value.
ClassCastException - if the parameter at the
         specified index is not a Integer
NullPointerException - if the parameter at the specified
         index is null
ArrayIndexOutOfBoundsException - if index
         is negative or not less than the current size of this
         ParameterBlock objectpublic long getLongParameter(int index)
null or not a Long.
index - the index of the parameter to be returned.
long value.
ClassCastException - if the parameter at the
         specified index is not a Long
NullPointerException - if the parameter at the specified
         index is null
ArrayIndexOutOfBoundsException - if index
         is negative or not less than the current size of this
         ParameterBlock objectpublic float getFloatParameter(int index)
null or not a Float.
index - the index of the parameter to be returned.
float value.
ClassCastException - if the parameter at the
         specified index is not a Float
NullPointerException - if the parameter at the specified
         index is null
ArrayIndexOutOfBoundsException - if index
         is negative or not less than the current size of this
         ParameterBlock objectpublic double getDoubleParameter(int index)
null or not a Double.
index - the index of the parameter to be returned.
double value.
ClassCastException - if the parameter at the
         specified index is not a Double
NullPointerException - if the parameter at the specified
         index is null
ArrayIndexOutOfBoundsException - if index
         is negative or not less than the current size of this
         ParameterBlock objectpublic Class[] getParamClasses()
Class objects.| 
 | JavaTM 2 Platform Std. Ed. v1.4.2 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.