モジュール java.desktop
パッケージ java.beans

クラスStatement

java.lang.Object
java.beans.Statement
直系の既知のサブクラス:
Expression

public class Statement extends Object
Statementオブジェクトは、"a.setFoo(b)"のように、ターゲットと一連の引数に単一のメソッドが適用されるプリミティブな文を表します。 この例ではターゲットとその引数を示す名前を使用していますが、Statementオブジェクトは名前空間を必要とせず、値自体で構成されます。 Statementオブジェクトは、指定されたメソッドを単純な値のセット(ターゲットと引数の値の配列)として、その環境に関連付けます。
導入されたバージョン:
1.4
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    Statement(Object target, String methodName, Object[] arguments)
    指定されたターゲット・オブジェクトの新しいStatementオブジェクトを作成して、名前、および引数の配列で指定されたメソッドを呼び出します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    executeメソッドは、methodNameプロパティと同じ名前のメソッドを検索し、ターゲットに対してそのメソッドを呼び出します。
    呼び出すメソッドの引数を返します。
    呼び出すメソッドの名前を返します。
    この文のターゲット・オブジェクトを返します。
    Javaスタイルの構文を使って、この文の値を出力します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • 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 - 呼び出されたメソッドによってスローされます
      関連項目:
    • toString

      public String toString()
      Javaスタイルの構文を使って、この文の値を出力します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このオブジェクトの文字列表現