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