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 - ソース・イメージのVectorpublic 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 - ソース・イメージのVectorgetSources()public void removeSources()
public int getNumParameters()
parameters Vector内のパラメータの数。public Vector<Object> getParameters()
parameters Vector。setParameters(Vector)public void setParameters(Vector<Object> parameters)
parameters - パラメータの指定されたVectorgetParameters()public void removeParameters()
public ParameterBlock add(Object obj)
obj - parameters Vectorに追加するObjectParameterBlock。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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。