- すべての実装されたインタフェース:
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
を構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 ParameterBlock
add(byte b)
Byteをパラメータのリストに追加します。ParameterBlock
add(char c)
Characterをパラメータのリストに追加します。ParameterBlock
add(double d)
Doubleをパラメータのリストに追加します。ParameterBlock
add(float f)
Floatをパラメータのリストに追加します。ParameterBlock
add(int i)
Integerをパラメータのリストに追加します。ParameterBlock
add(long l)
Longをパラメータのリストに追加します。ParameterBlock
add(short s)
Shortをパラメータのリストに追加します。ParameterBlock
add(Object obj)
オブジェクトをパラメータのリストに追加します。ParameterBlock
addSource(Object source)
イメージをソースのリストの最後に追加します。Object
clone()
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
getNumParameters()
パラメータの数を返します。ソース・イメージは含みません。int
getNumSources()
ソース・イメージの数を返します。Object
getObjectParameter(int index)
パラメータをオブジェクトとして取得します。Class<?>[]
getParamClasses()
パラメータの型を記述するClassオブジェクトの配列を返します。Vector<Object>
getParameters()
パラメータのVector全体を返します。RenderableImage
getRenderableSource(int index)
ソースをRenderableImageとして返します。RenderedImage
getRenderedSource(int index)
ソースをRenderedImage
として返します。short
getShortParameter(int index)
パラメータをshortとして返す簡易メソッドです。Object
getSource(int index)
ソースを一般的なObjectとして返します。Vector<Object>
getSources()
ソースのVector全体を返します。void
removeParameters()
パラメータのリストをクリアします。void
removeSources()
ソース・イメージのリストをクリアします。ParameterBlock
set(byte b, int index)
パラメータのリストのObjectをByteに置き換えます。ParameterBlock
set(char c, int index)
パラメータのリストのObjectをCharacterに置き換えます。ParameterBlock
set(double d, int index)
パラメータのリストのObjectをDoubleに置き換えます。ParameterBlock
set(float f, int index)
パラメータのリストのObjectをFloatに置き換えます。ParameterBlock
set(int i, int index)
パラメータのリストのObjectをIntegerに置き換えます。ParameterBlock
set(long l, int index)
パラメータのリストのObjectをLongに置き換えます。ParameterBlock
set(short s, int index)
パラメータのリストのObjectをShortに置き換えます。ParameterBlock
set(Object obj, int index)
パラメータのリストのObjectを置き換えます。void
setParameters(Vector<Object> parameters)
指定されたVectorにパラメータのVector全体を設定します。ParameterBlock
setSource(Object source, int index)
ソースのリストのエントリを新しいソースに置き換えます。void
setSources(Vector<Object> sources)
指定されたVectorにソースのVector全体を設定します。Object
shallowClone()
ParameterBlock
のシャロー・コピーを作成します。
-
フィールド詳細
-
sources
任意のObjectとして格納される、ソースのVectorです。 -
parameters
任意のObjectとして格納される、ソース以外のパラメータのVectorです。
-
-
コンストラクタの詳細
-
ParameterBlock
public ParameterBlock()ダミー・コンストラクタです。 -
ParameterBlock
指定されたソースのVectorを使ってParameterBlock
を構築します。- パラメータ:
sources
- ソース・イメージのVector
-
ParameterBlock
指定されたソースのVectorおよびパラメータのVectorを使ってParameterBlock
を構築します。- パラメータ:
sources
- ソース・イメージのVector
parameters
- 描画操作で使用されるパラメータのVector
-
-
メソッドの詳細
-
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
- 返されるソースのインデックス。- 戻り値:
sources
Vector
内の指定されたインデックスにあるソースを表すObject
。- 関連項目:
setSource(Object, int)
-
setSource
public ParameterBlock setSource(Object source, int index)ソースのリストのエントリを新しいソースに置き換えます。 indexの値が現在のソース・リストを超える場合は、必要に応じてnullを使ってリストが拡張されます。- パラメータ:
source
- 指定されたソース・イメージindex
- 指定されたsource
を挿入するsources
Vector
内のインデックス- 戻り値:
- 指定された
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()ソース・イメージの数を返します。- 戻り値:
sources
Vector
内のソース・イメージの数。
-
getSources
ソースのVector全体を返します。- 戻り値:
sources Vector
。- 関連項目:
setSources(Vector)
-
setSources
指定されたVectorにソースのVector全体を設定します。- パラメータ:
sources
- ソース・イメージのVector
- 関連項目:
getSources()
-
removeSources
public void removeSources()ソース・イメージのリストをクリアします。 -
getNumParameters
public int getNumParameters()パラメータの数を返します。ソース・イメージは含みません。- 戻り値:
parameters
Vector
内のパラメータの数。
-
getParameters
パラメータのVector全体を返します。- 戻り値:
parameters Vector
。- 関連項目:
setParameters(Vector)
-
setParameters
指定された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
- 取得するパラメータのインデックス- 戻り値:
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
オブジェクトの配列。
-