程序包 org.xmeta
类 World
java.lang.Object
org.xmeta.World
- 作者:
- zyx
-
字段概要
字段修饰符和类型字段说明protected List<ActionListenerProvider>全局上下文int帮助列表的最大个数元模型static byte编程模式,默认static byte工作模式,一般JavaAction等发生变更时不重新编译protected ThreadLocal<Map<String,Object>> 绑定到线程上的数据static String在WEB模式下,会把webroot作为一个模型管理器 -
方法概要
修饰符和类型方法说明voidaddFileThingManager(String name, File dir, boolean hasThingDir, boolean first) 把一个目录当作文件模型管理器加入到模型管理器列表中,如果目录是world的home目录,那么过滤不生效。voidvoidaddGlobalActionListener(ActionListenerProvider provider, int index) void添加运行期的帮助。voidvoidaddThingManager(ThingManager thingManager) 添加模型管理器。voidaddThingManagerFirst(ThingManager thingManager) 添加模型管理器到最前面。createThingManager(String name, File managerRootFile, String link) createThingManager(String name, String link) 创建一个ThingManager,必须是全路径<projectName>:<thingManagerName>。voiddebug(ActionContext actionContext) 执行一个已经设置了断点的动作,可以把该方法的调用嵌入到代码中,从而可以 实现在代码中的调试断点。通过路径来获得模型,可能会返回项目、模型管理者、目录、模型或者模型的列表。通过动作模型的路径获得动作。通过模型获得一个动作。getActionClass(String actionPath, ActionContext actionContext) 返回动作类,通常是动作模型对应的类,有些动作可能没有对应类。getActionClass(Thing actionThing, ActionContext actionContext) 返回动作类,通常是动作模型对应的类,有些动作可能没有对应类。<T> T获取一个用户数据。获取加载和初始化失败的模型管理器名称的列表。getHelps()getHomeFromSystem(String name) static World取得世界的实例。bytegetMode()getOS()getPath()获得当前世界的路径。getResource(String path) 通过路径获取资源。getResourceAsStream(String path) 以流的形式返回资源,如果没有返回null。通过模型的路径来访问具体的模型。通过模型的路径获取指定的模型,如果存在那么使用给定的descriptor创建模型,并保存到指定的thingManager下。getThingCoder(String type) 通过类型返回模型的编码器,类型通常是文件的后缀名。返回编码器列表。getThingManager(String name) 根据模型管理器的名称返回模型管理器。getThingManagerListeners(String thingManagerName) 获得注册的模型管理者的监听列表。获取模型管理器列表。<T> TgetThreadData(String key) 返回绑定到本模型的ThradLocal中的数据。返回工作目录对应的模型管理器,用于XWorker之外项目获取自身的模型管理器。voidvoidinit(String worldPath, ClassLoader classLoader) 通过给定模型的存放路径来初始化世界。initThingManager(File rootPath) initThingManager(File rootPath, String name) booleanisFailureThingManager(String thingManager) 返回指定的模型管理器是否是加载或初始化失败。booleanisInited()返回是否已经初始化过。booleanisThingFile(String fileName) 返回指定的文件名是否是保存模型的文件。booleanloadThingFromClasspath(String thingPath) 从类的路径中装载模型。voidmoveThingManagerToFirst(ThingManager thingManager) 先从模型管理器列表中移除,然后再加到最前面。voidrefresh()刷新当前世界中项目。voidregistThingCoder(ThingCoder thingCoder) 注册模型的编码编码和解码器。voidregistThingManagerListener(String thingManagerName, ThingManagerListener listener) 注册模型管理器的监听者。voidremoveData(String key) 移除一个用户数据。voidremoveFailureThingManager(String thingManager) 从加载或初始化失败的模型管理器列表中移除指定的模型管理器。voidvoidremoveThingManager(ThingManager thingManager) 移除模型管理器。voidremoveThingManager(ThingManager thingManager, boolean deleteRes) runAction(String actionPath, ActionContext actionContext) 执行一个动作。voidrunActionAsync(String actionPath, ActionContext actionContext) voidrunActionAsync(String actionPath, ActionContext actionContext, Map<String, Object> parameters) void设置一个用户数据。voidsetMode(byte mode) voidsetThreadData(String key, Object data) 设置绑定到当前模型的ThreadLocal的数据。voidsetVerbose(boolean verbose) voidsetWebFileRoot(String webFileRoot) testFileHome(String filePath) voidunregistThingManagerListener(String thingManagerName, ThingManagerListener listener) 取消模型管理者的监听者。
-
字段详细资料
-
MODE_PROGRAMING
public static byte MODE_PROGRAMING编程模式,默认 -
MODE_WORKING
public static byte MODE_WORKING工作模式,一般JavaAction等发生变更时不重新编译 -
WEBROOT_TEMP_THINGMANAGER
在WEB模式下,会把webroot作为一个模型管理器 -
metaThing
元模型 -
globalActionListenerProviders
全局上下文 -
threadLocalDatas
绑定到线程上的数据 -
helpSize
public int helpSize帮助列表的最大个数
-
-
方法详细资料
-
getInstance
取得世界的实例。- 返回:
- 世界的实例
-
setMode
public void setMode(byte mode) -
getMode
public byte getMode() -
getLibList
-
addLib
-
createThingManager
创建一个ThingManager,必须是全路径<projectName>:<thingManagerName>。- 参数:
name- 名称link- 连接- 返回:
- 模型管理器
-
createThingManager
-
getFailureThingManagers
获取加载和初始化失败的模型管理器名称的列表。- 返回:
- 模型管理器列表
-
isFailureThingManager
返回指定的模型管理器是否是加载或初始化失败。- 参数:
thingManager- 模型管理器- 返回:
- 是否失败
-
removeFailureThingManager
从加载或初始化失败的模型管理器列表中移除指定的模型管理器。- 参数:
thingManager- 模型管理器名
-
addGlobalActionListener
-
addGlobalActionListener
-
removeGlobalActionListener
-
getGlobalActionListenerProviders
-
get
通过路径来获得模型,可能会返回项目、模型管理者、目录、模型或者模型的列表。- 参数:
pathStr- 路径- 返回:
- 路径所对应的模型
-
loadThingFromClasspath
从类的路径中装载模型。- 参数:
thingPath- 模型路径- 返回:
- 模型
-
getResource
通过路径获取资源。- 参数:
path- 路径- 返回:
- 资源,没找到返回null
- 抛出:
IOException- 异常
-
getResourceAsStream
以流的形式返回资源,如果没有返回null。首先从文件系统中找,其次从classpath下寻找资源。- 参数:
path- 路径- 返回:
- 输入流
- 抛出:
IOException- IO异常
-
getAction
通过动作模型的路径获得动作。- 参数:
actionPath- 动作路径- 返回:
- Action
-
getActionClass
返回动作类,通常是动作模型对应的类,有些动作可能没有对应类。- 参数:
actionPath- 动作路径actionContext- 变量上下文- 返回:
- 类
-
getActionClass
返回动作类,通常是动作模型对应的类,有些动作可能没有对应类。- 参数:
actionThing- 动作模型actionContext- 变量上下文- 返回:
- 类
-
getAction
通过模型获得一个动作。- 参数:
actionThing- 定义动作的模型- 返回:
- 动作
-
getData
获取一个用户数据。- 参数:
key- 键- 返回:
- 值
-
setThreadData
设置绑定到当前模型的ThreadLocal的数据。 -
getThreadData
返回绑定到本模型的ThradLocal中的数据。- 参数:
key-- 返回:
-
getPath
获得当前世界的路径。- 返回:
- 世界的路径
-
debug
执行一个已经设置了断点的动作,可以把该方法的调用嵌入到代码中,从而可以 实现在代码中的调试断点。- 参数:
actionContext- 变量上下文
-
getThing
通过模型的路径来访问具体的模型。- 参数:
path- 模型的路径- 返回:
- 模型,不存在则返回null
-
getThing
通过模型的路径获取指定的模型,如果存在那么使用给定的descriptor创建模型,并保存到指定的thingManager下。- 参数:
path- 模型的路径thingManager- 模型管理器descriptor- 描述者- 返回:
- 模型
-
getThingManagers
获取模型管理器列表。- 返回:
- 模型管理器列表
-
getThingManagerListeners
获得注册的模型管理者的监听列表。- 参数:
thingManagerName- 模型管理者的名称- 返回:
- 模型管理者的监听者列表
-
getClassLoader
-
getLibraryPath
-
getHome
-
getHomeFromSystem
-
testFileHome
-
getHomeFormSytsem
-
init
-
init
通过给定模型的存放路径来初始化世界。- 参数:
worldPath- 世界的路径
-
isInited
public boolean isInited()返回是否已经初始化过。- 返回:
- 是否已经初始化
-
refresh
public void refresh()刷新当前世界中项目。 -
registThingManagerListener
注册模型管理器的监听者。
这里注册的监听者是所有模型管理者共有的,注册的键值是模型管理者的名称,不同项目下同名的模型管理者可以通过自身的名字获得相同 的模型管理者事件监听者列表,如果注册时模型管理者名称为*,那么表示此事件监听者监听所有模型管理者的事件。
虽然在World中注册了模型管理者监听事件,但在具体的模型管理者实现中要使用注册的监听者,那么需在触发 事件通过World取得相应的监听者列表。
如要监听具体的模型管理者,可获得具体的模型管理者然后调用模型管理者的addListener方法添加监听。- 参数:
thingManagerName- 模型管理者的名称listener- 模型管理者事件监听者
-
runActionAsync
-
runActionAsync
public void runActionAsync(String actionPath, ActionContext actionContext, Map<String, Object> parameters) -
runAction
-
runAction
public Object runAction(String actionPath, ActionContext actionContext, Map<String, Object> parameters) 执行一个动作。- 参数:
actionPath- 动作路径actionContext- 动作上下文parameters- 参数- 返回:
- 动作执行后的返回结果
-
setData
设置一个用户数据。- 参数:
key- 键value- 值
-
removeData
移除一个用户数据。- 参数:
key- 键
-
unregistThingManagerListener
取消模型管理者的监听者。- 参数:
thingManagerName- 模型管理者的名称listener- 模型管理者监听
-
isThingFile
返回指定的文件名是否是保存模型的文件。- 参数:
fileName- 文件名- 返回:
- 是否是模型文件
-
addThingManager
添加模型管理器。- 参数:
thingManager- 模型管理器
-
getClassThingManager
-
addThingManagerFirst
添加模型管理器到最前面。- 参数:
thingManager- 模型管理器
-
moveThingManagerToFirst
先从模型管理器列表中移除,然后再加到最前面。如果移除失败(不在模型管理器列表中),则不会添加。- 参数:
thingManager-
-
getThingManager
根据模型管理器的名称返回模型管理器。- 参数:
name- 名称- 返回:
- 模型管理器
-
removeThingManager
移除模型管理器。- 参数:
thingManager- 模型管理器
-
removeThingManager
-
getOS
-
getJVMBit
-
initThingManager
-
initThingManager
-
addHelp
添加运行期的帮助。- 参数:
title- 标题sourcePath- 范围helpPath- 路径模型
-
getHelps
-
isVerbose
public boolean isVerbose() -
setVerbose
public void setVerbose(boolean verbose) -
getTransientThingManager
-
registThingCoder
注册模型的编码编码和解码器。- 参数:
thingCoder- 编码器的实例
-
getThingCoders
返回编码器列表。- 返回:
- 模型编码劣列表
-
getThingCoder
通过类型返回模型的编码器,类型通常是文件的后缀名。- 参数:
type- 编码类型- 返回:
- 模型编码器
-
getWebFileRoot
-
setWebFileRoot
-
addFileThingManager
public void addFileThingManager(String name, File dir, boolean hasThingDir, boolean first) throws IOException 把一个目录当作文件模型管理器加入到模型管理器列表中,如果目录是world的home目录,那么过滤不生效。- 参数:
name- 模型管理器名称dir- 目录hasThingDir- 是否包含things子目录first- 是否添加到第一个模型管理器中- 抛出:
IOException- 异常
-
getWorkDirThingManager
返回工作目录对应的模型管理器,用于XWorker之外项目获取自身的模型管理器。- 返回:
- 模型管理器,总是返回第一个模型管理
-