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