|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectorg.soybeanMilk.core.exe.Invoke
public class Invoke
调用,它包含执行方法(Method对象)、方法参数信息、解决对象提供者
Invoke.Arg,
Invoke.ResolverProvider,
序列化表格| 嵌套类摘要 | |
|---|---|
static class |
Invoke.Arg
方法的参数信息。 |
static interface |
Invoke.ResolverProvider
解决对象(任意Java对象)的提供者,调用所需的解决对象将由它提供 |
| 构造方法摘要 | |
|---|---|
Invoke()
创建空的调用对象 |
|
Invoke(java.lang.String name,
java.lang.reflect.Method method,
Invoke.Arg[] args,
java.io.Serializable resultKey)
创建调用对象,它的方法是静态方法,因此不需要解决对象 |
|
Invoke(java.lang.String name,
java.lang.reflect.Method method,
Invoke.Arg[] args,
java.io.Serializable resultKey,
Invoke.ResolverProvider resolverProvider)
创建调用对象 |
|
Invoke(java.lang.String name,
java.lang.String methodName,
Invoke.Arg[] args,
java.io.Serializable resultKey,
java.lang.Class<?> resolverClass)
创建调用对象,它将自动查找方法对象 |
|
Invoke(java.lang.String name,
java.lang.String methodName,
Invoke.Arg[] args,
java.io.Serializable resultKey,
Invoke.ResolverProvider resolverProvider)
创建调用对象,它将自动查找方法对象 |
|
| 方法摘要 | |
|---|---|
void |
execute(ObjectSource dataStore)
执行 |
protected java.lang.Object |
executeMethod(ObjectSource objectSource)
执行该调用的方法并返回结果 |
static java.lang.reflect.Method |
findMethodThrow(java.lang.Class<?> clazz,
java.lang.String methodName,
int argNums)
根据方法名称及方法参数数目查找类的公开方法,找不到则会抛出异常 |
Invoke.Arg[] |
getArgs()
|
java.lang.reflect.Method |
getMethod()
|
protected java.lang.Object[] |
getMethodArguments(ObjectSource objectSource)
从对象源中取得方法的参数值数组 |
java.lang.String |
getName()
取得名称,该名称应该可以唯一标识这个可执行对象 |
protected java.lang.Object |
getResolver(ObjectSource objectSource)
取得本调用所依赖的解决对象 |
Invoke.ResolverProvider |
getResolverProvider()
|
java.io.Serializable |
getResultKey()
|
protected void |
saveMethodResult(java.io.Serializable key,
java.lang.Object result,
ObjectSource objectSource)
保存方法调用结果到对象源,如果对象源或者 key为null,则什么也不做 |
void |
setArgs(Invoke.Arg[] args)
|
void |
setMethod(java.lang.reflect.Method method)
|
void |
setName(java.lang.String name)
|
void |
setResolverProvider(Invoke.ResolverProvider resolverProvider)
|
void |
setResultKey(java.io.Serializable resultKey)
|
java.lang.String |
toString()
|
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 构造方法详细信息 |
|---|
public Invoke()
public Invoke(java.lang.String name,
java.lang.String methodName,
Invoke.Arg[] args,
java.io.Serializable resultKey,
Invoke.ResolverProvider resolverProvider)
name - methodName - args - resultKey - resolverProvider - Invoke(String, Method, Arg[], Serializable, ResolverProvider)
public Invoke(java.lang.String name,
java.lang.String methodName,
Invoke.Arg[] args,
java.io.Serializable resultKey,
java.lang.Class<?> resolverClass)
name - methodName - 方法名称args - resultKey - resolverClass - 解决对象类Invoke(String, Method, Arg[], Serializable, ResolverProvider)
public Invoke(java.lang.String name,
java.lang.reflect.Method method,
Invoke.Arg[] args,
java.io.Serializable resultKey)
Invoke(String, Method, Arg[], Serializable, ResolverProvider)
public Invoke(java.lang.String name,
java.lang.reflect.Method method,
Invoke.Arg[] args,
java.io.Serializable resultKey,
Invoke.ResolverProvider resolverProvider)
name - 调用名称method - 调用将执行的方法args - 参数信息,如果执行方法没有参数,可以将它设置为null,你只需要设置参数信息中的key或者value属性,这个构造方法会自动设置参数类型属性resultKey - 方法执行结果的存储关键字,如果设置为null,无论执行方法是否有返回结果都不会被存储;相反,则都会存储(无返回结果的按null存储)resolverProvider - 解决对象提供者,如果方法是静态的,可以将它设置为null| 方法详细信息 |
|---|
public void execute(ObjectSource dataStore)
throws ExecuteException
Executable 复制的描述
Executable 中的 executedataStore - 对象源,执行依赖的所有参数值都从它获取、结果也都保存到它里面
ExecuteExceptionpublic java.lang.String getName()
Executable 复制的描述
Executable 中的 getNamepublic void setName(java.lang.String name)
public Invoke.ResolverProvider getResolverProvider()
public void setResolverProvider(Invoke.ResolverProvider resolverProvider)
public java.lang.reflect.Method getMethod()
public void setMethod(java.lang.reflect.Method method)
public Invoke.Arg[] getArgs()
public void setArgs(Invoke.Arg[] args)
public java.io.Serializable getResultKey()
public void setResultKey(java.io.Serializable resultKey)
protected java.lang.Object executeMethod(ObjectSource objectSource)
throws java.lang.IllegalAccessException,
java.lang.IllegalArgumentException,
java.lang.reflect.InvocationTargetException
objectSource -
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.reflect.InvocationTargetExceptionprotected java.lang.Object[] getMethodArguments(ObjectSource objectSource)
objectSource -
ExecuteExceptionpublic java.lang.String toString()
java.lang.Object 中的 toString
protected void saveMethodResult(java.io.Serializable key,
java.lang.Object result,
ObjectSource objectSource)
key为null,则什么也不做
key - result - objectSource - protected java.lang.Object getResolver(ObjectSource objectSource)
objectSource - 本次调用的对象源,默认实现是从调用的属性取得解决对象的,所以在这个实现中没有用到
public static java.lang.reflect.Method findMethodThrow(java.lang.Class<?> clazz,
java.lang.String methodName,
int argNums)
clazz - 查找目标类methodName - 方法名argNums - 参数数目
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||