JavaTM Platform
Standard Ed. 6

java.awt.image.renderable
クラス ParameterBlock

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));
 

関連項目:
直列化された形式

フィールドの概要
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 のシャローコピーを作成します。
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

sources

protected Vector<Object> sources
任意の Object として格納される、ソースの Vector です。


parameters

protected Vector<Object> parameters
任意の Object として格納される、ソース以外のパラメータの Vector です。

コンストラクタの詳細

ParameterBlock

public ParameterBlock()
ダミーコンストラクタです。


ParameterBlock

public ParameterBlock(Vector<Object> sources)
指定されたソースの Vector を使って ParameterBlock を構築します。

パラメータ:
sources - ソースイメージの Vector

ParameterBlock

public ParameterBlock(Vector<Object> sources,
                      Vector<Object> parameters)
指定されたソースの Vector およびパラメータの Vector を使って ParameterBlock を構築します。

パラメータ:
sources - ソースイメージの Vector
parameters - 描画操作で使用されるパラメータの Vector
メソッドの詳細

shallowClone

public Object shallowClone()
ParameterBlock のシャローコピーを作成します。ソースおよびパラメータの Vector は参照でコピーされます。 追加や変更は両方のバージョンに対して可視になります。

戻り値:
ParameterBlock の Object の複製

clone

public Object clone()
ParameterBlock のコピーを作成します。ソースおよびパラメータの Vector は複製されますが、実際のソースおよびパラメータは参照でコピーされます。このため、複製でのソースおよびパラメータの順序と数の変更は、元の ParameterBlock からは不可視になります。一方、共有されるソースまたはパラメータ自体の変更は可視になります。

オーバーライド:
クラス Object 内の clone
戻り値:
ParameterBlock の Object の複製
関連項目:
Cloneable

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

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()
パラメータの数を返します。ソースイメージは含みません。

戻り値:
parameters Vector 内のパラメータの数

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 - 取得するパラメータのインデックス
戻り値:
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 オブジェクトの配列

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。