- java.lang.Object
-
- java.beans.Statement
-
- 直系の既知のサブクラス:
Expression
public class Statement extends Object
Statement
オブジェクトは、"a.setFoo(b)"
のように、ターゲットと一連の引数に単一のメソッドが適用されるプリミティブな文を表します。 この例ではターゲットとその引数を示す名前を使用していますが、Statementオブジェクトは名前空間を必要とせず、値自体で構成されます。 Statementオブジェクトは、指定されたメソッドを単純な値のセット(ターゲットと引数の値の配列)として、その環境に関連付けます。- 導入されたバージョン:
- 1.4
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 void
execute()
execute
メソッドは、methodName
プロパティと同じ名前のメソッドを検索し、ターゲットに対してそのメソッドを呼び出します。Object[]
getArguments()
呼び出すメソッドの引数を返します。String
getMethodName()
呼び出すメソッドの名前を返します。Object
getTarget()
この文のターゲット・オブジェクトを返します。String
toString()
Javaスタイルの構文を使って、この文の値を出力します。
-
-
-
コンストラクタの詳細
-
Statement
@ConstructorProperties({"target","methodName","arguments"}) public Statement(Object target, String methodName, Object[] arguments)
指定されたターゲット・オブジェクトの新しいStatement
オブジェクトを作成して、名前、および引数の配列で指定されたメソッドを呼び出します。target
およびmethodName
の値をnull
にしないでください。 そうしない場合、このExpression
の実行を試みると、NullPointerException
が発生します。arguments
値がnull
の場合は、空の配列がarguments
プロパティの値として使用されます。- パラメータ:
target
- この文のターゲット・オブジェクトmethodName
- 指定されたターゲットに対して呼び出すメソッドの名前arguments
- 指定されたメソッドを呼び出す引数の配列
-
-
メソッドの詳細
-
getTarget
public Object getTarget()
この文のターゲット・オブジェクトを返します。 このメソッドがnull
を返す場合は、execute()
メソッドによってNullPointerException
がスローされます。- 戻り値:
- この文のターゲット・オブジェクト
-
getMethodName
public String getMethodName()
呼び出すメソッドの名前を返します。 このメソッドがnull
を返す場合は、execute()
メソッドによってNullPointerException
がスローされます。- 戻り値:
- メソッドの名前
-
getArguments
public Object[] getArguments()
呼び出すメソッドの引数を返します。 引数の数とその型は、呼び出されるメソッドと一致する必要があります。空の配列の同義としてnull
を使用できます。- 戻り値:
- 引数の配列
-
execute
public void execute() throws Exception
execute
メソッドは、methodName
プロパティと同じ名前のメソッドを検索し、ターゲットに対してそのメソッドを呼び出します。 ターゲットのクラスが指定の名前で複数のメソッドを定義している場合、実装は『Java言語仕様(15.11)』に規定されているアルゴリズムを使って、もっとも本質的なメソッドを選択しなければいけません。 コンパイル時の型情報の代わりにターゲットと引数の動的クラスが使用され、Method
クラスそのものと同様に、プリミティブ値とその関連ラッパー・クラス間の変換は内部で処理されます。次のメソッド型は、特殊なケースとして処理されます。
- クラス・オブジェクトをターゲットとして使用することにより静的メソッドが呼び出される。
-
予約されたメソッド名「new」を使用し、あたかもすべてのクラスが静的な「new」メソッドを定義しているかのようにクラスのコンストラクタを呼び出す。 通常、コンストラクタの呼出しは値を返すため、
Statement
ではなくExpression
とみなされます。 -
List
インタフェースに定義されているメソッド名「get」および「set」が配列のインスタンスにも適用されて、Array
クラスにある同じ名前の静的メソッドにマッピングされます。
- 例外:
NullPointerException
-target
またはmethodName
プロパティの値がnull
の場合NoSuchMethodException
- 一致するメソッドが見つからない場合SecurityException
- セキュリティ・マネージャが存在し、それがメソッドの呼出しを拒否する場合Exception
- 呼び出されたメソッドによってスローされます- 関連項目:
Method
-
-