- 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));- 関連項目:
- 直列化された形式
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ParameterBlock()ダミー・コンストラクタです。ParameterBlock(Vector<Object> sources)指定されたソースのVectorを使ってParameterBlockを構築します。ParameterBlock(Vector<Object> sources, Vector<Object> parameters)指定されたソースのVectorおよびパラメータのVectorを使ってParameterBlockを構築します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 ParameterBlockadd(byte b)Byteをパラメータのリストに追加します。ParameterBlockadd(char c)Characterをパラメータのリストに追加します。ParameterBlockadd(double d)Doubleをパラメータのリストに追加します。ParameterBlockadd(float f)Floatをパラメータのリストに追加します。ParameterBlockadd(int i)Integerをパラメータのリストに追加します。ParameterBlockadd(long l)Longをパラメータのリストに追加します。ParameterBlockadd(short s)Shortをパラメータのリストに追加します。ParameterBlockadd(Object obj)オブジェクトをパラメータのリストに追加します。ParameterBlockaddSource(Object source)イメージをソースのリストの最後に追加します。Objectclone()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として返す簡易メソッドです。intgetNumParameters()パラメータの数を返します。ソース・イメージは含みません。intgetNumSources()ソース・イメージの数を返します。ObjectgetObjectParameter(int index)パラメータをオブジェクトとして取得します。Class<?>[]getParamClasses()パラメータの型を記述するClassオブジェクトの配列を返します。Vector<Object>getParameters()パラメータのVector全体を返します。RenderableImagegetRenderableSource(int index)ソースをRenderableImageとして返します。RenderedImagegetRenderedSource(int index)ソースをRenderedImageとして返します。shortgetShortParameter(int index)パラメータをshortとして返す簡易メソッドです。ObjectgetSource(int index)ソースを一般的なObjectとして返します。Vector<Object>getSources()ソースのVector全体を返します。voidremoveParameters()パラメータのリストをクリアします。voidremoveSources()ソース・イメージのリストをクリアします。ParameterBlockset(byte b, int index)パラメータのリストのObjectをByteに置き換えます。ParameterBlockset(char c, int index)パラメータのリストのObjectをCharacterに置き換えます。ParameterBlockset(double d, int index)パラメータのリストのObjectをDoubleに置き換えます。ParameterBlockset(float f, int index)パラメータのリストのObjectをFloatに置き換えます。ParameterBlockset(int i, int index)パラメータのリストのObjectをIntegerに置き換えます。ParameterBlockset(long l, int index)パラメータのリストのObjectをLongに置き換えます。ParameterBlockset(short s, int index)パラメータのリストのObjectをShortに置き換えます。ParameterBlockset(Object obj, int index)パラメータのリストのObjectを置き換えます。voidsetParameters(Vector<Object> parameters)指定されたVectorにパラメータのVector全体を設定します。ParameterBlocksetSource(Object source, int index)ソースのリストのエントリを新しいソースに置き換えます。voidsetSources(Vector<Object> sources)指定されたVectorにソースのVector全体を設定します。ObjectshallowClone()ParameterBlockのシャロー・コピーを作成します。
-
-
-
メソッドの詳細
-
shallowClone
public Object shallowClone()
ParameterBlockのシャロー・コピーを作成します。 ソースおよびパラメータのVectorは参照でコピーされます。追加や変更は両方のバージョンに対して可視になります。- 戻り値:
ParameterBlockのObjectの複製。
-
clone
public Object clone()
ParameterBlockのコピーを作成します。 ソースおよびパラメータのVectorは複製されますが、実際のソースおよびパラメータは参照でコピーされます。 このため、複製でのソースおよびパラメータの順序と数の変更は、元のParameterBlockからは不可視になります。 一方、共有されるソースまたはパラメータ自体の変更は可視になります。
-
addSource
public ParameterBlock addSource(Object source)
イメージをソースのリストの最後に追加します。 将来、新しいnode型の許可ができるように、イメージはオブジェクトとして格納されます。- パラメータ:
source- ソース・リストに格納されるイメージ・オブジェクト。- 戻り値:
- 指定された
sourceを格納する新規のParameterBlock。
-
getSource
public Object getSource(int index)
ソースを一般的なObjectとして返します。 呼出し側はそれを適切な型にキャストする必要があります。- パラメータ:
index- 返されるソースのインデックス。- 戻り値:
sourcesVector内の指定されたインデックスにあるソースを表すObject。- 関連項目:
setSource(Object, int)
-
setSource
public ParameterBlock setSource(Object source, int index)
ソースのリストのエントリを新しいソースに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。- パラメータ:
source- 指定されたソース・イメージindex- 指定されたsourceを挿入するsourcesVector内のインデックス- 戻り値:
- 指定された
sourceを指定されたindexで格納する新規のParameterBlock。 - 関連項目:
getSource(int)
-
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
public Vector<Object> getSources()
ソースのVector全体を返します。- 戻り値:
sources Vector。- 関連項目:
setSources(Vector)
-
setSources
public void setSources(Vector<Object> sources)
指定されたVectorにソースのVector全体を設定します。- パラメータ:
sources- ソース・イメージのVector- 関連項目:
getSources()
-
removeSources
public void removeSources()
ソース・イメージのリストをクリアします。
-
getNumParameters
public int getNumParameters()
パラメータの数を返します。ソース・イメージは含みません。- 戻り値:
parametersVector内のパラメータの数。
-
getParameters
public Vector<Object> getParameters()
パラメータのVector全体を返します。- 戻り値:
parameters Vector。- 関連項目:
setParameters(Vector)
-
setParameters
public void setParameters(Vector<Object> parameters)
指定されたVectorにパラメータのVector全体を設定します。- パラメータ:
parameters- パラメータの指定されたVector- 関連項目:
getParameters()
-
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- 取得するパラメータのインデックス- 戻り値:
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
public Class<?>[] getParamClasses()
パラメータの型を記述するClassオブジェクトの配列を返します。- 戻り値:
Classオブジェクトの配列。
-
-