java.lang.Object javax.activation.CommandInfo
public class CommandInfo
CommandMap 实现使用 CommandInfo 类描述命令请求的结果。它为请求者提供所请求的动词,以及 bean 的一个实例。还有一个方法,它将返回实现命令的类的名称,但是它不保证返回有效值。原因是允许子类化 CommandInfo 的 CommandMap 实现提供特殊行为。例如,CommandMap 能够动态生成 JavaBean。在这种情况下,不太可能仅根据类名称便创建带有全部正确状态信息的对象。
构造方法摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
public CommandInfo(String verb, String className)
verb
- 此 CommandInfo 描述的命令动词。
className
- 命令的完全限定类名。
方法详细信息 |
---|
public String getCommandName()
public String getCommandClass()
public Object getCommandObject(DataHandler dh, ClassLoader loader) throws IOException, ClassNotFoundException
从用 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。
IOException
ClassNotFoundException
Beans.instantiate(java.lang.ClassLoader, java.lang.String)
,
CommandObject