モジュール java.desktop
パッケージ java.awt.image.renderable

クラスParameterBlock

java.lang.Object
java.awt.image.renderable.ParameterBlock
すべての実装されたインタフェース:
Serializable, Cloneable

public class ParameterBlock extends Object implements Cloneable, Serializable
ParameterBlockは、RenderableImageOpや、イメージを処理するほかのクラスによって必要とされるソースおよびパラメータ(Object)についてのすべての情報をカプセル化します。

ソースVectorには任意のオブジェクトを配置できますが、このクラスのユーザーは、たとえば、すべてのソースはRenderedImagesまたはRenderableImageでなければならない、などのような意味制約を加えることもできます。 ParameterBlock自体はコンテナにすぎないので、ソースまたはパラメータの型のチェックは行いません。

ParameterBlockのパラメータはすべてオブジェクトです。基本型の引数をとる簡易addメソッドおよびsetメソッドが利用可能で、適切なNumber (IntegerまたはFloatなど)のサブクラスを作成します。 対応するgetメソッドは、下方キャストを実行し、基本型の戻り値を受け取ります。 格納される値の型が正しい型でない場合は、例外がスローされます。short s; add(s)の結果とadd(new Short(s))の結果は区別できません。

getメソッドおよびsetメソッドは参照に影響を与えます。 したがって、ParameterBlock間での参照の共有が不適切な場合は、共有しないようにしてください。 たとえば、追加されたソースを除いて、古いParameterBlockと同じ新しいParameterBlockを作成する場合に、次のように記述してしまいがちです。

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

このコードは、getSources操作がソースVectorへの参照を返したために、元のParameterBlockを変更する副作用があります。 pbとpb1はソースVectorを共有しているので、一方の変更は両方に対して可視になります。

addSource関数の記述方法で適切なのは、次のようにソースVectorを複製する方法です。

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

ParameterBlockのcloneメソッドは、こうした理由でソースとパラメータの両方のVectorの複製を実行するように定義されています。 標準のシャロー複製をshallowCloneとして利用できます。

addSource、setSource、add、およびsetの各メソッドは、引数を追加したあとでthisを返すように定義されます。 そのため、次のような構文の使用が可能です。

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

関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected Vector<Object>
    任意のObjectとして格納される、ソース以外のパラメータのVectorです。
    protected Vector<Object>
    任意のObjectとして格納される、ソースのVectorです。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    ダミー・コンストラクタです。
    指定されたソースのVectorを使ってParameterBlockを構築します。
    ParameterBlock(Vector<Object> sources, Vector<Object> parameters)
    指定されたソースのVectorおよびパラメータのVectorを使ってParameterBlockを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    add(byte b)
    Byteをパラメータのリストに追加します。
    add(char c)
    Characterをパラメータのリストに追加します。
    add(double d)
    Doubleをパラメータのリストに追加します。
    add(float f)
    Floatをパラメータのリストに追加します。
    add(int i)
    Integerをパラメータのリストに追加します。
    add(long l)
    Longをパラメータのリストに追加します。
    add(short s)
    Shortをパラメータのリストに追加します。
    add(Object obj)
    オブジェクトをパラメータのリストに追加します。
    addSource(Object source)
    イメージをソースのリストの最後に追加します。
    ParameterBlockのコピーを作成します。
    byte
    getByteParameter(int index)
    パラメータをbyteとして返す簡易メソッドです。
    char
    getCharParameter(int index)
    パラメータをcharとして返す簡易メソッドです。
    double
    getDoubleParameter(int index)
    パラメータをdoubleとして返す簡易メソッドです。
    float
    getFloatParameter(int index)
    パラメータをfloatとして返す簡易メソッドです。
    int
    getIntParameter(int index)
    パラメータをintとして返す簡易メソッドです。
    long
    getLongParameter(int index)
    パラメータをlongとして返す簡易メソッドです。
    int
    パラメータの数を返します。ソース・イメージは含みません。
    int
    ソース・イメージの数を返します。
    getObjectParameter(int index)
    パラメータをオブジェクトとして取得します。
    Class<?>[]
    パラメータの型を記述するClassオブジェクトの配列を返します。
    パラメータのVector全体を返します。
    ソースをRenderableImageとして返します。
    getRenderedSource(int index)
    ソースをRenderedImageとして返します。
    short
    getShortParameter(int index)
    パラメータをshortとして返す簡易メソッドです。
    getSource(int index)
    ソースを一般的なObjectとして返します。
    ソースのVector全体を返します。
    void
    パラメータのリストをクリアします。
    void
    ソース・イメージのリストをクリアします。
    set(byte b, int index)
    パラメータのリストのObjectをByteに置き換えます。
    set(char c, int index)
    パラメータのリストのObjectをCharacterに置き換えます。
    set(double d, int index)
    パラメータのリストのObjectをDoubleに置き換えます。
    set(float f, int index)
    パラメータのリストのObjectをFloatに置き換えます。
    set(int i, int index)
    パラメータのリストのObjectをIntegerに置き換えます。
    set(long l, int index)
    パラメータのリストのObjectをLongに置き換えます。
    set(short s, int index)
    パラメータのリストのObjectをShortに置き換えます。
    set(Object obj, int index)
    パラメータのリストのObjectを置き換えます。
    void
    指定されたVectorにパラメータのVector全体を設定します。
    setSource(Object source, int index)
    ソースのリストのエントリを新しいソースに置き換えます。
    void
    指定されたVectorにソースのVector全体を設定します。
    ParameterBlockのシャロー・コピーを作成します。

    クラス java.lang.Objectで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • sources

      protected Vector<Object> sources
      任意のObjectとして格納される、ソースのVectorです。
    • parameters

      protected Vector<Object> parameters
      任意のObjectとして格納される、ソース以外のパラメータのVectorです。
  • コンストラクタの詳細

    • ParameterBlock

      public ParameterBlock()
      ダミー・コンストラクタです。
    • ParameterBlock

      public ParameterBlock(Vector<Object> sources)
      指定されたソースのVectorを使ってParameterBlockを構築します。
      パラメータ:
      sources - ソース・イメージのVector
    • ParameterBlock

      public ParameterBlock(Vector<Object> sources, Vector<Object> parameters)
      指定されたソースのVectorおよびパラメータのVectorを使ってParameterBlockを構築します。
      パラメータ:
      sources - ソース・イメージのVector
      parameters - 描画操作で使用されるパラメータのVector
  • メソッドの詳細

    • shallowClone

      public Object shallowClone()
      ParameterBlockのシャロー・コピーを作成します。 ソースおよびパラメータのVectorは参照でコピーされます。追加や変更は両方のバージョンに対して可視になります。
      戻り値:
      ParameterBlockのObjectの複製。
    • clone

      public Object clone()
      ParameterBlockのコピーを作成します。 ソースおよびパラメータのVectorは複製されますが、実際のソースおよびパラメータは参照でコピーされます。 このため、複製でのソースおよびパラメータの順序と数の変更は、元のParameterBlockからは不可視になります。 一方、共有されるソースまたはパラメータ自体の変更は可視になります。
      オーバーライド:
      clone、クラスObject
      戻り値:
      ParameterBlockのObjectの複製。
      関連項目:
    • addSource

      public ParameterBlock addSource(Object source)
      イメージをソースのリストの最後に追加します。 将来、新しいnode型の許可ができるように、イメージはオブジェクトとして格納されます。
      パラメータ:
      source - ソース・リストに格納されるイメージ・オブジェクト。
      戻り値:
      指定されたsourceを格納する新規のParameterBlock
    • getSource

      public Object getSource(int index)
      ソースを一般的なObjectとして返します。 呼出し側はそれを適切な型にキャストする必要があります。
      パラメータ:
      index - 返されるソースのインデックス。
      戻り値:
      sources Vector内の指定されたインデックスにあるソースを表すObject
      関連項目:
    • setSource

      public ParameterBlock setSource(Object source, int index)
      ソースのリストのエントリを新しいソースに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。
      パラメータ:
      source - 指定されたソース・イメージ
      index - 指定されたsourceを挿入するsources Vector内のインデックス
      戻り値:
      指定されたsourceを指定されたindexで格納する新規のParameterBlock
      関連項目:
    • getRenderedSource

      public RenderedImage getRenderedSource(int index)
      ソースをRenderedImageとして返します。 このメソッドは簡易メソッドです。 ソースがRenderedImageでない場合、例外がスローされます。
      パラメータ:
      index - 返されるソースのインデックス
      戻り値:
      sources Vector内の指定されたインデックスにあるソース・イメージを表すRenderedImage
    • getRenderableSource

      public RenderableImage getRenderableSource(int index)
      ソースをRenderableImageとして返します。 このメソッドは簡易メソッドです。 ソースがRenderableImageでない場合、例外がスローされます。
      パラメータ:
      index - 返されるソースのインデックス
      戻り値:
      sources Vector内の指定されたインデックスにあるソース・イメージを表すRenderableImage
    • getNumSources

      public int getNumSources()
      ソース・イメージの数を返します。
      戻り値:
      sources Vector内のソース・イメージの数。
    • getSources

      public Vector<Object> getSources()
      ソースのVector全体を返します。
      戻り値:
      sources Vector
      関連項目:
    • setSources

      public void setSources(Vector<Object> sources)
      指定されたVectorにソースのVector全体を設定します。
      パラメータ:
      sources - ソース・イメージのVector
      関連項目:
    • removeSources

      public void removeSources()
      ソース・イメージのリストをクリアします。
    • getNumParameters

      public int getNumParameters()
      パラメータの数を返します。ソース・イメージは含みません。
      戻り値:
      parameters Vector内のパラメータの数。
    • getParameters

      public Vector<Object> getParameters()
      パラメータのVector全体を返します。
      戻り値:
      parameters Vector
      関連項目:
    • setParameters

      public void setParameters(Vector<Object> parameters)
      指定されたVectorにパラメータのVector全体を設定します。
      パラメータ:
      parameters - パラメータの指定されたVector
      関連項目:
    • removeParameters

      public void removeParameters()
      パラメータのリストをクリアします。
    • add

      public ParameterBlock add(Object obj)
      オブジェクトをパラメータのリストに追加します。
      パラメータ:
      obj - parameters Vectorに追加するObject
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • add

      public ParameterBlock add(byte b)
      Byteをパラメータのリストに追加します。
      パラメータ:
      b - parameters Vectorに追加するbyte
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • add

      public ParameterBlock add(char c)
      Characterをパラメータのリストに追加します。
      パラメータ:
      c - parameters Vectorに追加するchar
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • add

      public ParameterBlock add(short s)
      Shortをパラメータのリストに追加します。
      パラメータ:
      s - parameters Vectorに追加するshort
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • add

      public ParameterBlock add(int i)
      Integerをパラメータのリストに追加します。
      パラメータ:
      i - parameters Vectorに追加するint
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • add

      public ParameterBlock add(long l)
      Longをパラメータのリストに追加します。
      パラメータ:
      l - parameters Vectorに追加するlong
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • add

      public ParameterBlock add(float f)
      Floatをパラメータのリストに追加します。
      パラメータ:
      f - parameters Vectorに追加するfloat
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • add

      public ParameterBlock add(double d)
      Doubleをパラメータのリストに追加します。
      パラメータ:
      d - parameters Vectorに追加するdouble
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • set

      public ParameterBlock set(Object obj, int index)
      パラメータのリストのObjectを置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。
      パラメータ:
      obj - parameters Vector内の指定されたインデックスにあるパラメータを置き換えるパラメータ
      index - 指定されたパラメータに置き換えられるパラメータのインデックス
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • set

      public ParameterBlock set(byte b, int index)
      パラメータのリストのObjectをByteに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。
      パラメータ:
      b - parameters Vector内の指定されたインデックスにあるパラメータを置き換えるパラメータ
      index - 指定されたパラメータに置き換えられるパラメータのインデックス
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • set

      public ParameterBlock set(char c, int index)
      パラメータのリストのObjectをCharacterに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。
      パラメータ:
      c - parameters Vector内の指定されたインデックスにあるパラメータを置き換えるパラメータ
      index - 指定されたパラメータに置き換えられるパラメータのインデックス
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • set

      public ParameterBlock set(short s, int index)
      パラメータのリストのObjectをShortに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。
      パラメータ:
      s - parameters Vector内の指定されたインデックスにあるパラメータを置き換えるパラメータ
      index - 指定されたパラメータに置き換えられるパラメータのインデックス
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • set

      public ParameterBlock set(int i, int index)
      パラメータのリストのObjectをIntegerに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。
      パラメータ:
      i - parameters Vector内の指定されたインデックスにあるパラメータを置き換えるパラメータ
      index - 指定されたパラメータに置き換えられるパラメータのインデックス
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • set

      public ParameterBlock set(long l, int index)
      パラメータのリストのObjectをLongに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。
      パラメータ:
      l - parameters Vector内の指定されたインデックスにあるパラメータを置き換えるパラメータ
      index - 指定されたパラメータに置き換えられるパラメータのインデックス
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • set

      public ParameterBlock set(float f, int index)
      パラメータのリストのObjectをFloatに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。
      パラメータ:
      f - parameters Vector内の指定されたインデックスにあるパラメータを置き換えるパラメータ
      index - 指定されたパラメータに置き換えられるパラメータのインデックス
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • set

      public ParameterBlock set(double d, int index)
      パラメータのリストのObjectをDoubleに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。
      パラメータ:
      d - parameters Vector内の指定されたインデックスにあるパラメータを置き換えるパラメータ
      index - 指定されたパラメータに置き換えられるパラメータのインデックス
      戻り値:
      指定されたパラメータを格納する新規のParameterBlock
    • getObjectParameter

      public Object getObjectParameter(int index)
      パラメータをオブジェクトとして取得します。
      パラメータ:
      index - 取得するパラメータのインデックス
      戻り値:
      parameters Vector内の指定されたインデックスにあるパラメータを表すObject
    • getByteParameter

      public byte getByteParameter(int index)
      パラメータをbyteとして返す簡易メソッドです。 パラメータがnullの場合、またはByteでない場合は、例外がスローされます。
      パラメータ:
      index - 返されるパラメータのインデックス。
      戻り値:
      指定されたインデックスでのbyte値としてのパラメータ。
      例外:
      ClassCastException - 指定されたインデックスでのパラメータがByteでない場合
      NullPointerException - 指定されたインデックスでのパラメータがnullの場合
      ArrayIndexOutOfBoundsException - indexが負の場合、またはこのParameterBlockオブジェクトの現在のサイズ以上である場合
    • getCharParameter

      public char getCharParameter(int index)
      パラメータをcharとして返す簡易メソッドです。 パラメータがnullの場合、またはCharacterでない場合は、例外がスローされます。
      パラメータ:
      index - 返されるパラメータのインデックス。
      戻り値:
      指定されたインデックスでのchar値としてのパラメータ。
      例外:
      ClassCastException - 指定されたインデックスでのパラメータがCharacterでない場合
      NullPointerException - 指定されたインデックスでのパラメータがnullの場合
      ArrayIndexOutOfBoundsException - indexが負の場合、またはこのParameterBlockオブジェクトの現在のサイズ以上である場合
    • getShortParameter

      public short getShortParameter(int index)
      パラメータをshortとして返す簡易メソッドです。 パラメータがnullの場合、またはShortでない場合は、例外がスローされます。
      パラメータ:
      index - 返されるパラメータのインデックス。
      戻り値:
      指定されたインデックスでのshort値としてのパラメータ。
      例外:
      ClassCastException - 指定されたインデックスでのパラメータがShortでない場合
      NullPointerException - 指定されたインデックスでのパラメータがnullの場合
      ArrayIndexOutOfBoundsException - indexが負の場合、またはこのParameterBlockオブジェクトの現在のサイズ以上である場合
    • getIntParameter

      public int getIntParameter(int index)
      パラメータをintとして返す簡易メソッドです。 パラメータがnullの場合、またはIntegerでない場合は、例外がスローされます。
      パラメータ:
      index - 返されるパラメータのインデックス。
      戻り値:
      指定されたインデックスのパラメータをintの値として返します。
      例外:
      ClassCastException - 指定されたインデックスのパラメータがIntegerでない場合
      NullPointerException - 指定されたインデックスでのパラメータがnullの場合
      ArrayIndexOutOfBoundsException - indexが負の場合、またはこのParameterBlockオブジェクトの現在のサイズ以上である場合
    • getLongParameter

      public long getLongParameter(int index)
      パラメータをlongとして返す簡易メソッドです。 パラメータがnullの場合、またはLongでない場合は、例外がスローされます。
      パラメータ:
      index - 返されるパラメータのインデックス。
      戻り値:
      指定されたインデックスでのlong値としてのパラメータ。
      例外:
      ClassCastException - 指定されたインデックスでのパラメータがLongでない場合
      NullPointerException - 指定されたインデックスでのパラメータがnullの場合
      ArrayIndexOutOfBoundsException - indexが負の場合、またはこのParameterBlockオブジェクトの現在のサイズ以上である場合
    • getFloatParameter

      public float getFloatParameter(int index)
      パラメータをfloatとして返す簡易メソッドです。 パラメータがnullの場合、またはFloatでない場合は、例外がスローされます。
      パラメータ:
      index - 返されるパラメータのインデックス。
      戻り値:
      指定されたインデックスでのfloat値としてのパラメータ。
      例外:
      ClassCastException - 指定されたインデックスでのパラメータがFloatでない場合
      NullPointerException - 指定されたインデックスでのパラメータがnullの場合
      ArrayIndexOutOfBoundsException - indexが負の場合、またはこのParameterBlockオブジェクトの現在のサイズ以上である場合
    • getDoubleParameter

      public double getDoubleParameter(int index)
      パラメータをdoubleとして返す簡易メソッドです。 パラメータがnullの場合、またはDoubleでない場合は、例外がスローされます。
      パラメータ:
      index - 返されるパラメータのインデックス。
      戻り値:
      指定されたインデックスでのdouble値としてのパラメータ。
      例外:
      ClassCastException - 指定されたインデックスでのパラメータがDoubleでない場合
      NullPointerException - 指定されたインデックスでのパラメータがnullの場合
      ArrayIndexOutOfBoundsException - indexが負の場合、またはこのParameterBlockオブジェクトの現在のサイズ以上である場合
    • getParamClasses

      public Class<?>[] getParamClasses()
      パラメータの型を記述するClassオブジェクトの配列を返します。
      戻り値:
      Classオブジェクトの配列。