- すべての実装されたインタフェース:
Serializable,Cloneable
ParameterBlockは、RenderableImageOpや、イメージを処理するほかのクラスによって必要とされるソースおよびパラメータ(Object)についてのすべての情報をカプセル化します。
ソースVectorには任意のオブジェクトを配置できますが、このクラスのユーザーは、たとえば、すべてのソースはRenderedImagesまたはRenderableImageでなければならない、などのような意味制約を加えることもできます。 ParameterBlock自体はコンテナにすぎないので、ソースまたはパラメータの型のチェックは行いません。
ParameterBlockのパラメータはすべてオブジェクトです。基本型の引数をとる簡易addメソッドおよびsetメソッドが利用可能で、適切なNumber (IntegerまたはFloatなど)のサブクラスを作成します。 対応するgetメソッドは、下方キャストを実行し、基本型の戻り値を受け取ります。 "短いs;add(s)"と"add(Short.valueOf(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));
- 関連項目:
-
フィールドのサマリー
フィールド -
コンストラクタのサマリー
コンストラクタコンストラクタ説明ダミー・コンストラクタです。ParameterBlock(Vector<Object> sources) 指定されたソースの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をパラメータのリストに追加します。オブジェクトをパラメータのリストに追加します。イメージをソースのリストの最後に追加します。clone()ParameterBlockのコピーを作成します。bytegetByteParameter(int index) パラメータをbyteとして返す簡易メソッドです。chargetCharParameter(int index) パラメータをcharとして返す簡易メソッドです。doublegetDoubleParameter(int index) パラメータをdoubleとして返す簡易メソッドです。floatgetFloatParameter(int index) パラメータをfloatとして返す簡易メソッドです。intgetIntParameter(int index) パラメータをintとして返す簡易メソッドです。longgetLongParameter(int index) パラメータをlongとして返す簡易メソッドです。intパラメータの数を返します。ソース・イメージは含みません。intソース・イメージの数を返します。getObjectParameter(int index) パラメータをオブジェクトとして取得します。Class<?>[]パラメータの型を記述するClassオブジェクトの配列を返します。パラメータのVector全体を返します。getRenderableSource(int index) ソースをRenderableImageとして返します。getRenderedSource(int index) ソースをRenderedImageとして返します。shortgetShortParameter(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に置き換えます。パラメータのリストのObjectを置き換えます。voidsetParameters(Vector<Object> parameters) 指定されたVectorにパラメータのVector全体を設定します。ソースのリストのエントリを新しいソースに置き換えます。voidsetSources(Vector<Object> sources) 指定されたVectorにソースのVector全体を設定します。ParameterBlockのシャロー・コピーを作成します。
-
フィールド詳細
-
sources
-
parameters
-
-
コンストラクタの詳細
-
ParameterBlock
public ParameterBlock()ダミー・コンストラクタです。 -
ParameterBlock
-
ParameterBlock
-
-
メソッドの詳細
-
shallowClone
public Object shallowClone()ParameterBlockのシャロー・コピーを作成します。 ソースおよびパラメータのVectorは参照でコピーされます。追加や変更は両方のバージョンに対して可視になります。- 戻り値:
ParameterBlockのObjectの複製。
-
clone
-
addSource
public ParameterBlock addSource(Object source) イメージをソースのリストの最後に追加します。 将来、新しいnode型の許可ができるように、イメージはオブジェクトとして格納されます。- パラメータ:
source- ソース・リストに格納されるイメージ・オブジェクト。- 戻り値:
- 指定された
sourceを格納する新規のParameterBlock。
-
getSource
public Object getSource(int index) ソースを一般的なObjectとして返します。 呼出し側はそれを適切な型にキャストする必要があります。- パラメータ:
index- 返されるソースのインデックス。- 戻り値:
sourcesVector内の指定されたインデックスにあるソースを表すObject。- 関連項目:
-
setSource
public ParameterBlock setSource(Object source, int index) ソースのリストのエントリを新しいソースに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。- パラメータ:
source- 指定されたソース・イメージindex- 指定されたsourceを挿入するsourcesVector内のインデックス- 戻り値:
- 指定された
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()ソース・イメージの数を返します。- 戻り値:
sourcesVector内のソース・イメージの数。
-
getSources
-
setSources
-
removeSources
public void removeSources()ソース・イメージのリストをクリアします。 -
getNumParameters
public int getNumParameters()パラメータの数を返します。ソース・イメージは含みません。- 戻り値:
parametersVector内のパラメータの数。
-
getParameters
-
setParameters
-
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に追加するバイト- 戻り値:
- 指定されたパラメータを格納する新規の
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に追加する浮動小数点- 戻り値:
- 指定されたパラメータを格納する新規の
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- 取得するパラメータのインデックス- 戻り値:
parametersVector内の指定されたインデックスにあるパラメータを表す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
-