org.soybeanMilk.core.exe
类 Invoke

java.lang.Object
  继承者 org.soybeanMilk.core.exe.AbstractExecutable
      继承者 org.soybeanMilk.core.exe.Invoke
所有已实现的接口:
java.io.Serializable, Executable

public class Invoke
extends AbstractExecutable

调用,它包含执行方法(Method对象)、方法的参数信息解决对象提供者

作者:
earthAngry@gmail.com
另请参见:
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 objectSource)
          执行
static java.lang.reflect.Method findMethodThrow(java.lang.Class<?> clazz, java.lang.String methodName, int argNums)
          根据方法名称及方法参数数目查找类的公开方法,找不到则会抛出异常
 Invoke.Arg getArg(int index)
          获取调用方法某个位置的参数
 Invoke.Arg[] getArgs()
          获取此调用的方法参数数组。
 java.lang.reflect.Method getMethod()
          获取此调用的方法。
 Invoke.ResolverProvider getResolverProvider()
           
 java.io.Serializable getResultKey()
          获取此调用的方法结果保存关键字。
 void setArgs(Invoke.Arg[] args)
           
 void setMethod(java.lang.reflect.Method method)
           
 void setResolverProvider(Invoke.ResolverProvider resolverProvider)
           
 void setResultKey(java.io.Serializable resultKey)
           
 java.lang.String toString()
           
 
从类 org.soybeanMilk.core.exe.AbstractExecutable 继承的方法
getName, setName
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Invoke

public Invoke()
创建空的调用对象


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)

Invoke

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)

Invoke

public Invoke(java.lang.String name,
              java.lang.reflect.Method method,
              Invoke.Arg[] args,
              java.io.Serializable resultKey)
创建调用对象,它的方法是静态方法,因此不需要解决对象

另请参见:
Invoke(String, Method, Arg[], Serializable, ResolverProvider)

Invoke

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
方法详细信息

getResolverProvider

public Invoke.ResolverProvider getResolverProvider()

setResolverProvider

public void setResolverProvider(Invoke.ResolverProvider resolverProvider)

getMethod

public java.lang.reflect.Method getMethod()
获取此调用的方法。

返回:

setMethod

public void setMethod(java.lang.reflect.Method method)

getArgs

public Invoke.Arg[] getArgs()
获取此调用的方法参数数组。

返回:

setArgs

public void setArgs(Invoke.Arg[] args)

getResultKey

public java.io.Serializable getResultKey()
获取此调用的方法结果保存关键字。

返回:

setResultKey

public void setResultKey(java.io.Serializable resultKey)

getArg

public Invoke.Arg getArg(int index)
获取调用方法某个位置的参数

参数:
index -
返回:

execute

public void execute(ObjectSource objectSource)
             throws ExecuteException
从接口 Executable 复制的描述
执行

指定者:
接口 Executable 中的 execute
指定者:
AbstractExecutable 中的 execute
参数:
objectSource - 对象源,执行依赖的所有参数值都从它获取、结果也都保存到它里面
抛出:
ExecuteException

toString

public java.lang.String toString()
覆盖:
java.lang.Object 中的 toString

findMethodThrow

public static java.lang.reflect.Method findMethodThrow(java.lang.Class<?> clazz,
                                                       java.lang.String methodName,
                                                       int argNums)
根据方法名称及方法参数数目查找类的公开方法,找不到则会抛出异常

参数:
clazz - 查找目标类
methodName - 方法名
argNums - 参数数目
返回: