モジュール java.activation
パッケージ javax.activation

クラスCommandInfo


  • public class CommandInfo
    extends Object
    CommandInfoクラスは、CommandMap実装でコマンド要求の結果を記述するために使用されます。 このクラスは、要求者に要求された動詞とbeanのインスタンスの両方を提供します。 また、コマンドを実装するクラスの名前を返すメソッドもありますが、有効な値が返される保証はありません これは、CommandInfoをサブクラス化するCommandMap実装が特殊な動作をするからです。 たとえば、CommandMapは動的にJavaBeansを生成できます。 この場合、クラス名だけですべての正しい状態情報を持つオブジェクトを作成できるとは限りません。
    導入されたバージョン:
    1.6
    • コンストラクタの詳細

      • CommandInfo

        public CommandInfo​(String verb,
                           String className)
        CommandInfoのコンストラクタです。
        パラメータ:
        verb - このCommandInfoが記述するコマンドの動詞。
        className - コマンドの完全指定されたクラス名。
    • メソッドの詳細

      • getCommandName

        public String getCommandName()
        コマンドの動詞を返します。
        戻り値:
        コマンドの動詞
      • getCommandClass

        public String getCommandClass()
        コマンドのクラス名を返します。 このメソッドは、CommandMapが独自の目的でCommandInfoをサブクラス化した場合にnullを返すことがあります。 つまり、クラス名を認識しているだけではコマンドの正しい状態を作成できるとは限りません。 このメソッドが有効な値を返す保証はありません。
        戻り値:
        コマンドのクラス名、またはnull
      • getCommandObject

        public Object getCommandObject​(DataHandler dh,
                                       ClassLoader loader)
                                throws IOException,
                                       ClassNotFoundException
        インスタンス化されたJavaBeanコンポーネントを返します。

        java.beans.Beansが表示されている場合はjava.beans.Beans#instantiateメソッドが呼び出され、コンポーネントがJavaBeansコンポーネントとしてインスタンス化されます。 java.beans.Beansが(java.desktopモジュールが読み込みできない場合、またはランタイム・イメージにjava.desktopモジュールが含まれていない場合)に見えないときは、コマンド・クラスがロードされ、そのpublic no-argsコンストラクタでインスタンス化されます。

        コンポーネント・クラスはパブリックである必要があります。

        beanがjavax.activation.CommandObjectインタフェースを実装する場合は、そのsetCommandContextメソッドを呼び出します。

        DataHandlerパラメータがnullの場合、beanはデータを使わずにインスタンス化されます。 注: これは、このメソッドがそのInputStreamにアクセスしようとしたときに、渡されるDataHandlerが何らかの理由でIOExceptionをスローする場合に有用です。 これによって呼出し側は、beanがインスタンス化できれば、beanへの参照を取得できます。

        beanがCommandObjectインタフェースを実装しない場合、このメソッドはbeanがjava.io.Externalizableインタフェースを実装するかどうかをチェックします。 実装する場合は、DataHandlerからInputStreamが取得できれば、beanのreadExternalメソッドが呼び出されます。

        パラメータ:
        dh - コマンドに渡されるデータを記述するDataHandler。
        loader - beanのインスタンス化に使用されるClassLoader。
        戻り値:
        bean
        例外:
        IOException - データの読み込み失敗
        ClassNotFoundException - コマンド・オブジェクト・クラスが見つからない場合
        関連項目:
        Beans.instantiate(java.lang.ClassLoader, java.lang.String), CommandObject