程序包 org.xmeta

类 Action


public class Action extends Semaphore

动作是由模型转化而来的,动作是可以执行的,是把模型当作程序来执行的方法。

本动作能够直接解释执行的模型是类型为JavaAction的模型,JavaAction调用Java代码。 其它类型的动作,比如Groovy等脚本语言,可以用JavaAction来实现。

作者:
zyx
  • 字段详细资料

    • javaKeyWords

      public static final String[] javaKeyWords
      Java关键字列表,不能作为类和包的名称
    • str_acContext

      public static final String str_acContext
      另请参阅:
    • str_parentContext

      public static final String str_parentContext
      另请参阅:
    • str_action

      public static final String str_action
      另请参阅:
    • str_actionThing

      public static final String str_actionThing
      另请参阅:
    • SOURCE_LIB

      public static final byte SOURCE_LIB
      源码类型-类库
      另请参阅:
    • SOURCE_THINGMANAGER

      public static final byte SOURCE_THINGMANAGER
      源码类型-模型管理器
      另请参阅:
    • SOURCE_THING

      public static final byte SOURCE_THING
      源码类型-模型
      另请参阅:
    • thingEntry

      public ThingEntry thingEntry
      定义动作的模型
    • lastModified

      public long lastModified
      最后一次修改时间,用来判断是否模型已经更新
  • 构造器详细资料

    • Action

      public Action(Thing thing)
      构造函数,传入定义动作的模型。
      参数:
      thing - 定义动作的模型
  • 方法详细资料

    • checkChanged

      public void checkChanged()
      检查动作是否已经变更。
    • getClassTargetDirectory

      public String getClassTargetDirectory()
    • getClassLoader

      public ClassLoader getClassLoader() throws MalformedURLException
      抛出:
      MalformedURLException
    • getActionClass

      public Class getActionClass(ActionContext actionContext)
      返回动作的类,如果存在。有些动作可能会返回null。
      参数:
      actionContext - 变量上下文
      返回:
      返回Action对应的类
    • updateCompileTime

      public void updateCompileTime()
    • getMethod

      public Method getMethod()
    • run

      public final <T> T run()
    • run

      public final <T> T run(ActionContext actionContext)
    • run

      public final <T> T run(ActionContext actionContext, Object... params)
    • exec

      public final <T> T exec(Object... params)
    • exec

      public final <T> T exec(ActionContext actionContext, Object... params)
    • call

      public final <T> T call(ActionContext actionContext, Object... params)
    • call

      public final <T> T call(ActionContext actionContext, Map<String,Object> parameters)
    • run

      public final <T> T run(ActionContext actionContext, Map<String,Object> parameters)
    • run

      public final <T> T run(ActionContext actionContext, Map<String,Object> parameters, boolean isSubAction)
    • run

      public final <T> T run(ActionContext actionContext, Map<String,Object> parameters, Object caller, boolean isSubAction)
    • runArrayParams

      public final <T> T runArrayParams(ActionContext actionContext, Object[] params_, Object caller, boolean isSubAction)
    • runMapParams

      public final <T> T runMapParams(ActionContext actionContext, Map<String,Object> parameters, Object caller, boolean isSubAction)
    • getCompileClassPath

      public String getCompileClassPath()
    • getClassName

      public static String getClassName(String className)
      返回正确的包名,因在X-Meta包名和类名没有约束,但java的包名和类名不能是关键字,所以修改,在关键字前加t。
      参数:
      className - 类名
      返回:
      返回完整类名
    • setData

      public void setData(String key, Object data)
      设置数据。
      参数:
      key - 键
      data - 值
    • getData

      public Object getData(String key)
      通过键值获取数据。
      参数:
      key - 键
      返回:
      数据
    • getThing

      public Thing getThing()
    • isNeedRecompile

      public boolean isNeedRecompile()
      返回是否需要重新编译。
    • updateClassCompileTime

      public static void updateClassCompileTime(String classFileName, String className, long time)
    • getThrowableRecordCount

      public static int getThrowableRecordCount()
    • setThrowableRecordCount

      public static void setThrowableRecordCount(int throwableRecordCount)
    • getThrowables

      public static List<Action.ThrowableRecord> getThrowables()
    • getActionClass

      public Class<?> getActionClass()
    • setActionClass

      public void setActionClass(Class<?> actionClass)
    • isChanged

      public boolean isChanged()
    • setChanged

      public void setChanged(boolean changed)
    • isJava

      public boolean isJava()
    • getLastModified

      public long getLastModified()
    • getOtherActionPath

      public String getOtherActionPath()
    • getClassName

      public String getClassName()
    • getClassFileName

      public String getClassFileName()
    • getPackageName

      public String getPackageName()
    • getFileName

      public String getFileName()
    • getCode

      public String getCode()
    • getOuterAction

      public Action getOuterAction()
    • setMethod

      public void setMethod(Method method)