JAF 1.0

javax.activation
クラス CommandInfo

java.lang.Object
  |
  +--javax.activation.CommandInfo

public class CommandInfo
extends java.lang.Object

CommandInfo クラスは CommandMap の実装クラスがコマンド要求の結果を 記述するために使われます。CommandInfo は要求された動詞と Bean の両方を 要求する側に提供します。コマンドを実装するクラスのクラス名を返すメソッドも ありますが、有効な名前を返すことは保証されません。 これは、CommandMap の実装で CommandInfo をサブクラス化して 特別な動作を提供することが認められているためです。例えば、 CommandMap が動的に JavaBeans を生成することができます。 この場合、クラス名だけから得られる正しい状態情報では、 オブジェクトを生成することができないかもしれません。


コンストラクタの概要
CommandInfo(java.lang.String verb, java.lang.String className)
          CommandInfo のコンストラクタです。
 
メソッドの概要
 java.lang.String getCommandClass()
          コマンドのクラス名を返します。
 java.lang.String getCommandName()
          コマンドの動詞を返します。
 java.lang.Object getCommandObject(DataHandler dh, java.lang.ClassLoader loader)
          インスタンス化された JavaBean を返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CommandInfo

public CommandInfo(java.lang.String verb,
                   java.lang.String className)
CommandInfo のコンストラクタです。
パラメータ:
verb - この CommandInfo が示すコマンドの動詞。
className - Bean の完全修飾クラス名。
メソッドの詳細

getCommandName

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

getCommandClass

public java.lang.String getCommandClass()
コマンドのクラス名を返します。このメソッドは、CommandMap が サブクラス化した CommandInfo ではその目的のために null を 返すかもしれません。言い換えれば、クラス名を知るだけでは コマンドの正当な状態を生成することはできないことになります。 このメソッドが妥当な値を返すことをあてにしてはいけません!
戻り値:
コマンドのクラス名、または null

getCommandObject

public java.lang.Object getCommandObject(DataHandler dh,
                                         java.lang.ClassLoader loader)
                                  throws java.io.IOException,
                                         java.lang.ClassNotFoundException
インスタンス化された JavaBean を返します。

最初に Beans.instantiate() で Bean をインスタンス化します。

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

DataHandler のパラメータが null の場合は、データを与えずに クラスをインスタンス化します。注: これは、このメソッドが 渡された DataHandler の InputStream にアクセスしようとすると 何らかの理由でその DataHandler が IOException をスローするような場合に 役に立つかもしれません。インスタンス化できると、呼び出し側は その Bean への参照を取得できます。

Bean が CommandObject インタフェースを実装していない場合は、 java.io.Externalizable インタフェースを実装しているかを調べます。 実装していれば、DataHandler から InputStream が獲得できるなら、 Bean の readExternal メソッドが呼び出されます。

パラメータ:
dh - コマンドに渡されたデータを示す DataHandler。
loader - Bean のインスタンス化に使われる ClassLoader。
戻り値:
インスタンス化された Bean
関連項目:
CommandObject

JAF 1.0