org.xworker
类 ActionContext

java.lang.Object
  继承者 org.xworker.ActionContext
所有已实现的接口:
java.util.Map<java.lang.String,java.lang.Object>

public class ActionContext
extends java.lang.Object
implements java.util.Map<java.lang.String,java.lang.Object>

动作上下文是一个Stack和Map的综合体,作用是保存变量。

动作上下文通过栈的深度来表示全局变量和局部变量,可以通过压栈和出栈方式来实现类似函数调用的效果。

动作上下文是线程绑定的,只能在创建时的线程里进行压栈和出栈的操作,如果在其他线程中压栈和出栈会抛出异常。

作者:
zyx

嵌套类摘要
 
从接口 java.util.Map 继承的嵌套类/接口
java.util.Map.Entry<K,V>
 
字段摘要
static int BREAK
          打断状态,一般返回到上一个循环处
static int CANCEL
          取消的状态,取消当前的动作执行
static int CONTINUE
          继续从循环处执行
static int EXCEPTION
          抛出异常的状态,一般到异常处理处结束
private  java.lang.Thread myThread
          动作上下文创建时的线程
static java.lang.String RESULT_FAILURE
           
static java.lang.String RESULT_SUCCESS
           
static int RETURN
          返回值的状态,返回到动作被初始调用的地方
static int RUNNING
          正常的运行状态
static java.lang.String RUNTYPE_DEFAULT
           
static java.lang.String RUNTYPE_RANDOM
           
static java.lang.String RUNTYPE_RANDOM_ONE
           
static java.lang.String RUNTYPE_RANDOM_RANDOM
           
static java.lang.String RUNTYPE_RANDOM_SUCCESS
           
static java.lang.String RUNTYPE_SUCCESS
           
(专用软件包)  java.util.Stack<Bindings> stacks
          变量范围栈表
(专用软件包)  int status
          状态
(专用软件包)  java.lang.Object throwedObject
          动作抛出的对象
 
构造方法摘要
ActionContext()
          默认构造函数。
ActionContext(ActionContext actionContext)
          通过给定的变量绑定创建动作上下文。
ActionContext(Bindings bindings)
           
 
方法摘要
private  void checkThread()
           
 void clear()
           
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
           
 java.lang.Object get(java.lang.Object key)
           
 java.lang.Object get(java.lang.Object key, java.lang.String scopeThingPath)
           
 java.util.List<Action> getActions()
          返回动作调用列表,最开始的是堆栈的底部,最后的是堆栈的顶部。
 Bindings getScope(int index)
          返回指定范围的变量绑定。
 Bindings getScope(java.lang.String actionThingPath)
          根据动作事物的路径来获得变量范围。
 java.util.List<Bindings> getScopes()
          返回变量绑定的列表。
 int getScopesSize()
          返回变脸范围的迭代大小。
 int getStatus()
          返回动作执行的状态。
 java.util.List<Thing> getThings()
          返回调用动作的事物列表,最开始的是堆栈的底部,最后的堆栈的顶部的事物。
 java.lang.Object getThrowedObject()
           
 boolean isEmpty()
           
 java.util.Set<java.lang.String> keySet()
           
 Bindings peek()
          返回最顶层的变量绑定。
 Bindings pop()
          弹出最顶层的变量绑定。
 Bindings push()
           
 Bindings push(Bindings bindings)
          压入一个变量绑定到堆栈中,当传入的变量绑定为null时自动创建一个新的。
 java.lang.Object put(java.lang.String key, java.lang.Object value)
          设置值的方法是从栈的顶端往下找,如果有Bindings包含相应的键,那么赋值,如果没有那么设置到顶端。
 java.lang.Object put(java.lang.String key, java.lang.Object value, java.lang.String scopeThingPath)
          根据指定的事物从堆栈中寻找变量范围,并设置变量范围的值。
 void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> m)
           
 java.lang.Object putTo(java.lang.String key, java.lang.String scopeThingPath)
          把某个值放到指定的变量范围中。
 java.lang.Object remove(java.lang.Object key)
           
 void setStatus(int status)
          设置动作的执行状态。
 void setThrowedObject(java.lang.Object obj)
           
 int size()
           
 java.util.Collection<java.lang.Object> values()
           
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
从接口 java.util.Map 继承的方法
equals, hashCode
 

字段详细信息

RUNNING

public static final int RUNNING
正常的运行状态

另请参见:
常量字段值

RETURN

public static final int RETURN
返回值的状态,返回到动作被初始调用的地方

另请参见:
常量字段值

CANCEL

public static final int CANCEL
取消的状态,取消当前的动作执行

另请参见:
常量字段值

BREAK

public static final int BREAK
打断状态,一般返回到上一个循环处

另请参见:
常量字段值

CONTINUE

public static final int CONTINUE
继续从循环处执行

另请参见:
常量字段值

EXCEPTION

public static final int EXCEPTION
抛出异常的状态,一般到异常处理处结束

另请参见:
常量字段值

RESULT_SUCCESS

public static final java.lang.String RESULT_SUCCESS
另请参见:
常量字段值

RESULT_FAILURE

public static final java.lang.String RESULT_FAILURE
另请参见:
常量字段值

RUNTYPE_DEFAULT

public static final java.lang.String RUNTYPE_DEFAULT
另请参见:
常量字段值

RUNTYPE_SUCCESS

public static final java.lang.String RUNTYPE_SUCCESS
另请参见:
常量字段值

RUNTYPE_RANDOM

public static final java.lang.String RUNTYPE_RANDOM
另请参见:
常量字段值

RUNTYPE_RANDOM_ONE

public static final java.lang.String RUNTYPE_RANDOM_ONE
另请参见:
常量字段值

RUNTYPE_RANDOM_RANDOM

public static final java.lang.String RUNTYPE_RANDOM_RANDOM
另请参见:
常量字段值

RUNTYPE_RANDOM_SUCCESS

public static final java.lang.String RUNTYPE_RANDOM_SUCCESS
另请参见:
常量字段值

stacks

java.util.Stack<Bindings> stacks
变量范围栈表


status

int status
状态


myThread

private java.lang.Thread myThread
动作上下文创建时的线程


throwedObject

java.lang.Object throwedObject
动作抛出的对象

构造方法详细信息

ActionContext

public ActionContext()
默认构造函数。


ActionContext

public ActionContext(ActionContext actionContext)
通过给定的变量绑定创建动作上下文。

参数:
bindings - 变量绑定

ActionContext

public ActionContext(Bindings bindings)
方法详细信息

checkThread

private void checkThread()

getStatus

public int getStatus()
返回动作执行的状态。

返回:
动作的执行状态

setStatus

public void setStatus(int status)
设置动作的执行状态。

参数:
status - 执行状态

push

public Bindings push()

push

public Bindings push(Bindings bindings)
压入一个变量绑定到堆栈中,当传入的变量绑定为null时自动创建一个新的。

参数:
bindings - 变量绑定
返回:
压入的变量绑定

peek

public Bindings peek()
返回最顶层的变量绑定。

返回:
最顶层的变量绑定。

pop

public Bindings pop()
弹出最顶层的变量绑定。

返回:
弹出的最顶层的变量绑定

getScopes

public java.util.List<Bindings> getScopes()
返回变量绑定的列表。

返回:
变量绑定列表

getScope

public Bindings getScope(int index)
返回指定范围的变量绑定。

参数:
index - 变量范围
返回:
变量绑定

getScope

public Bindings getScope(java.lang.String actionThingPath)
根据动作事物的路径来获得变量范围。

参数:
actionThingPath -
返回:

getScopesSize

public int getScopesSize()
返回变脸范围的迭代大小。

返回:
变量范围的大小

clear

public void clear()
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 clear

containsKey

public boolean containsKey(java.lang.Object key)
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 containsKey

containsValue

public boolean containsValue(java.lang.Object value)
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 containsValue

entrySet

public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 entrySet

get

public java.lang.Object get(java.lang.Object key)
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 get

get

public java.lang.Object get(java.lang.Object key,
                            java.lang.String scopeThingPath)

getActions

public java.util.List<Action> getActions()
返回动作调用列表,最开始的是堆栈的底部,最后的是堆栈的顶部。

返回:
动作调用列表

getThings

public java.util.List<Thing> getThings()
返回调用动作的事物列表,最开始的是堆栈的底部,最后的堆栈的顶部的事物。

返回:
调用动作的事物列表

isEmpty

public boolean isEmpty()
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 isEmpty

keySet

public java.util.Set<java.lang.String> keySet()
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 keySet

put

public java.lang.Object put(java.lang.String key,
                            java.lang.Object value)
设置值的方法是从栈的顶端往下找,如果有Bindings包含相应的键,那么赋值,如果没有那么设置到顶端。

指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 put

put

public java.lang.Object put(java.lang.String key,
                            java.lang.Object value,
                            java.lang.String scopeThingPath)
根据指定的事物从堆栈中寻找变量范围,并设置变量范围的值。

参数:
key -
value -
scopeThing -
返回:

putTo

public java.lang.Object putTo(java.lang.String key,
                              java.lang.String scopeThingPath)
把某个值放到指定的变量范围中。

参数:
key -
scopeThingPath -
返回:

putAll

public void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> m)
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 putAll

remove

public java.lang.Object remove(java.lang.Object key)
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 remove

size

public int size()
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 size

values

public java.util.Collection<java.lang.Object> values()
指定者:
接口 java.util.Map<java.lang.String,java.lang.Object> 中的 values

setThrowedObject

public void setThrowedObject(java.lang.Object obj)

getThrowedObject

public java.lang.Object getThrowedObject()