JavaTM 2 Platform
Standard Ed. 6

javax.activation
類別 CommandInfo

java.lang.Object
  繼承者 javax.activation.CommandInfo

public class CommandInfo
extends Object

CommandMap 實作使用 CommandInfo 類別描述命令請求的結果。它為請求者提供所請求的動詞,以及 bean 的一個實例。還有一個方法,它將返回實作命令的類別的名稱,但是它不保證返回有效值。原因是允許子類別化 CommandInfo 的 CommandMap 實作提供特殊行為。例如,CommandMap 能夠動態產生 JavaBean。在這種情況下,不太可能僅根據類別名稱便創建帶有全部正確狀態資訊的物件。

從以下版本開始:
1.6

建構子摘要
CommandInfo(String verb, String className)
          CommandInfo 的建構子。
 
方法摘要
 String getCommandClass()
          返回命令的類別名。
 String getCommandName()
          返回命令動詞。
 Object getCommandObject(DataHandler dh, ClassLoader loader)
          返回已實例化的 JavaBean 元件。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

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 元件。

從用 Beans.instantiate() 實例化元件開始。

如果 bean 實作了 javax.activation.CommandObject 介面,則調用其 setCommandContext 方法。

如果 DataHandler 參數為 null,則 bean 被實例化,且不帶任何資料。注:如果由於某種原因,此方法試圖存取其 InputStream 時傳入的 DataHandler 拋出 IOExceptions,那麼這將很有用。它將允許調用者獲取對 bean 的參考(如果它可以被實例化)。

如果 bean 不實作 CommandObject 介面,那麼此方法將檢查它是否實作 java.io.Externalizable 介面。如果它實作 CommandObject 介面,若可以從 DataHandler 獲取 InputStream,則將調用 bean 的 readExternal 方法。

參數:
dh - 描述要傳遞給命令的資料的 DataHandler。
loader - 將用於實例化 bean 的 ClassLoader。
返回:
bean
拋出:
IOException
ClassNotFoundException
另請參見:
Beans.instantiate(java.lang.ClassLoader, java.lang.String), CommandObject

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only