X-Meta引擎是使用Java编写的,因此实际上运行的是Java程序,事物模型也是在Java代码中解释执行的,因此本文介绍如何在Java代码中处理事物模型。
事物模型放在那里
可以根据需要把事物放到一下三个位置。
在代码中获取事物模型
package org.xmeta.example; import org.xmeta.Action; import org.xmeta.ActionContext; import org.xmeta.Thing; import org.xmeta.World; public class Main{ public static void main(String args[]){ //初始化World,World是获取事物的容器 World world = World.getInstance(); //World的路径,一般是xworker的路径,如果事物全部都在jar里, //那么可以指定一个运行是的临时目录,用于存放编译结果等临时文件 world.init("."); //获取事物,事物的路径规则同Java类,这里要带上包名 Thing person = world.getThing("org.xmeta.example.PersonWithAction"); //......,其他操作 } }
在代码里操作事物
//在代码中获取一个事物 Thing person = world.getThing("org.xmeta.example.PersonWithAction"); //新建一个事物 Thing person = new Thing("Person"); //可以读取和设置属性 Object value = person.get("key"); person.set("key", value); //可以通过getXXX读取xxx类型的属性 int intValue = person.getInt("key"); boolean booleanValue = person.getBoolean("key"); //获取子事物 List<Thing> childs = person.getChilds(); //通过doAction执行事物的行为 person.doAction("method"); //ActionContext是变量上下文 person.doAction("method", new ActionContext()); //传入参数 Map<String, Object> params = new HashMap<String,Object>(); person.doAction("method", new ActionContext(), params);
以上是在Java代码中处理事物模型的主要方法,更详细的内容可以参看X-Meta引擎的Java API。
Copyright © 2007-2019 XWorker.org 版权所有 沪ICP备08000575号