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> |
parameters
任意の Object として格納される、ソース以外のパラメータの Vector です。
|
protected Vector<Object> |
sources
任意の Object として格納される、ソースの Vector です。
|
コンストラクタと説明 |
---|
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(Object obj)
オブジェクトをパラメータのリストに追加します。
|
ParameterBlock |
add(short s)
Short をパラメータのリストに追加します。
|
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(Object obj, int index)
パラメータのリストの Object を置き換えます。
|
ParameterBlock |
set(short s, int index)
パラメータのリストの Object を Short に置き換えます。
|
void |
setParameters(Vector<Object> parameters)
指定された Vector にパラメータの Vector 全体を設定します。
|
ParameterBlock |
setSource(Object source, int index)
ソースのリストのエントリを新しいソースに置き換えます。
|
void |
setSources(Vector<Object> sources)
指定された Vector にソースの Vector 全体を設定します。
|
Object |
shallowClone()
ParameterBlock のシャローコピーを作成します。 |
public ParameterBlock()
public ParameterBlock(Vector<Object> sources)
ParameterBlock
を構築します。sources
- ソースイメージの Vector
public Object shallowClone()
ParameterBlock
のシャローコピーを作成します。ソースおよびパラメータの Vector は参照でコピーされます。追加や変更は両方のバージョンに対して可視になります。ParameterBlock
の Object の複製。public Object clone()
ParameterBlock
のコピーを作成します。ソースおよびパラメータの Vector は複製されますが、実際のソースおよびパラメータは参照でコピーされます。このため、複製でのソースおよびパラメータの順序と数の変更は、元の ParameterBlock
からは不可視になります。一方、共有されるソースまたはパラメータ自体の変更は可視になります。public ParameterBlock addSource(Object source)
source
- ソースリストに格納されるイメージオブジェクト。source
を格納する新規の ParameterBlock
。public Object getSource(int index)
index
- 返されるソースのインデックス。sources
Vector
内の指定されたインデックスにあるソースを表す Object
。setSource(Object, int)
public ParameterBlock setSource(Object source, int index)
source
- 指定されたソースイメージindex
- 指定された source
を挿入する sources
Vector
内のインデックスsource
を指定された index
で格納する新規の ParameterBlock
。getSource(int)
public RenderedImage getRenderedSource(int index)
RenderedImage
として返します。このメソッドは簡易メソッドです。ソースが RenderedImage でない場合、例外がスローされます。index
- 返されるソースのインデックスsources
Vector
内の指定されたインデックスにあるソースイメージを表す RenderedImage
。public RenderableImage getRenderableSource(int index)
index
- 返されるソースのインデックスsources
Vector
内の指定されたインデックスにあるソースイメージを表す RenderableImage
。public int getNumSources()
sources
Vector
内のソースイメージの数。public Vector<Object> getSources()
sources
Vector
。setSources(Vector)
public void setSources(Vector<Object> sources)
sources
- ソースイメージの Vector
getSources()
public void removeSources()
public int getNumParameters()
parameters
Vector
内のパラメータの数。public Vector<Object> getParameters()
parameters
Vector
。setParameters(Vector)
public void setParameters(Vector<Object> parameters)
parameters
- パラメータの指定された Vector
getParameters()
public void removeParameters()
public ParameterBlock add(Object obj)
obj
- parameters
Vector
に追加する Object
ParameterBlock
。public ParameterBlock add(byte b)
b
- parameters
Vector
に追加する byteParameterBlock
。public ParameterBlock add(char c)
c
- parameters
Vector
に追加する charParameterBlock
。public ParameterBlock add(short s)
s
- parameters
Vector
に追加する shortParameterBlock
。public ParameterBlock add(int i)
i
- parameters
Vector
に追加する intParameterBlock
。public ParameterBlock add(long l)
l
- parameters
Vector
に追加する longParameterBlock
。public ParameterBlock add(float f)
f
- parameters
Vector
に追加する floatParameterBlock
。public ParameterBlock add(double d)
d
- parameters
Vector
に追加する doubleParameterBlock
。public ParameterBlock set(Object obj, int index)
obj
- parameters
Vector
内の指定されたインデックスにあるパラメータを置き換えるパラメータindex
- 指定されたパラメータに置き換えられるパラメータのインデックスParameterBlock
。public ParameterBlock set(byte b, int index)
b
- parameters
Vector
内の指定されたインデックスにあるパラメータを置き換えるパラメータindex
- 指定されたパラメータに置き換えられるパラメータのインデックスParameterBlock
。public ParameterBlock set(char c, int index)
c
- parameters
Vector
内の指定されたインデックスにあるパラメータを置き換えるパラメータindex
- 指定されたパラメータに置き換えられるパラメータのインデックスParameterBlock
。public ParameterBlock set(short s, int index)
s
- parameters
Vector
内の指定されたインデックスにあるパラメータを置き換えるパラメータindex
- 指定されたパラメータに置き換えられるパラメータのインデックスParameterBlock
。public ParameterBlock set(int i, int index)
i
- parameters
Vector
内の指定されたインデックスにあるパラメータを置き換えるパラメータindex
- 指定されたパラメータに置き換えられるパラメータのインデックスParameterBlock
。public ParameterBlock set(long l, int index)
l
- parameters
Vector
内の指定されたインデックスにあるパラメータを置き換えるパラメータindex
- 指定されたパラメータに置き換えられるパラメータのインデックスParameterBlock
。public ParameterBlock set(float f, int index)
f
- parameters
Vector
内の指定されたインデックスにあるパラメータを置き換えるパラメータindex
- 指定されたパラメータに置き換えられるパラメータのインデックスParameterBlock
。public ParameterBlock set(double d, int index)
d
- parameters
Vector
内の指定されたインデックスにあるパラメータを置き換えるパラメータindex
- 指定されたパラメータに置き換えられるパラメータのインデックスParameterBlock
。public Object getObjectParameter(int index)
index
- 取得するパラメータのインデックスparameters
Vector
内の指定されたインデックスにあるパラメータを表す Object
。public byte getByteParameter(int index)
null
の場合、または Byte
でない場合は、例外がスローされます。index
- 返されるパラメータのインデックス。byte
値としてのパラメータ。ClassCastException
- 指定されたインデックスでのパラメータが Byte
でない場合NullPointerException
- 指定されたインデックスでのパラメータが null
の場合ArrayIndexOutOfBoundsException
- index
が負の場合、またはこの ParameterBlock
オブジェクトの現在のサイズ以上である場合public char getCharParameter(int index)
null
の場合、または Character
でない場合は、例外がスローされます。index
- 返されるパラメータのインデックス。char
値としてのパラメータ。ClassCastException
- 指定されたインデックスでのパラメータが Character
でない場合NullPointerException
- 指定されたインデックスでのパラメータが null
の場合ArrayIndexOutOfBoundsException
- index
が負の場合、またはこの ParameterBlock
オブジェクトの現在のサイズ以上である場合public short getShortParameter(int index)
null
の場合、または Short
でない場合は、例外がスローされます。index
- 返されるパラメータのインデックス。short
値としてのパラメータ。ClassCastException
- 指定されたインデックスでのパラメータが Short
でない場合NullPointerException
- 指定されたインデックスでのパラメータが null
の場合ArrayIndexOutOfBoundsException
- index
が負の場合、またはこの ParameterBlock
オブジェクトの現在のサイズ以上である場合public int getIntParameter(int index)
null
の場合、または Integer
でない場合は、例外がスローされます。index
- 返されるパラメータのインデックス。int
値としてのパラメータ。ClassCastException
- 指定されたインデックスでのパラメータが Integer
でない場合NullPointerException
- 指定されたインデックスでのパラメータが null
の場合ArrayIndexOutOfBoundsException
- index
が負の場合、またはこの ParameterBlock
オブジェクトの現在のサイズ以上である場合public long getLongParameter(int index)
null
の場合、または Long
でない場合は、例外がスローされます。index
- 返されるパラメータのインデックス。long
値としてのパラメータ。ClassCastException
- 指定されたインデックスでのパラメータが Long
でない場合NullPointerException
- 指定されたインデックスでのパラメータが null
の場合ArrayIndexOutOfBoundsException
- index
が負の場合、またはこの ParameterBlock
オブジェクトの現在のサイズ以上である場合public float getFloatParameter(int index)
null
の場合、または Float
でない場合は、例外がスローされます。index
- 返されるパラメータのインデックス。float
値としてのパラメータ。ClassCastException
- 指定されたインデックスでのパラメータが Float
でない場合NullPointerException
- 指定されたインデックスでのパラメータが null
の場合ArrayIndexOutOfBoundsException
- index
が負の場合、またはこの ParameterBlock
オブジェクトの現在のサイズ以上である場合public double getDoubleParameter(int index)
null
の場合、または Double
でない場合は、例外がスローされます。index
- 返されるパラメータのインデックス。double
値としてのパラメータ。ClassCastException
- 指定されたインデックスでのパラメータが Double
でない場合NullPointerException
- 指定されたインデックスでのパラメータが null
の場合ArrayIndexOutOfBoundsException
- index
が負の場合、またはこの ParameterBlock
オブジェクトの現在のサイズ以上である場合public Class[] getParamClasses()
Class
オブジェクトの配列。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.