org.xworker.thingManagers
类 TransientThingManager

java.lang.Object
  继承者 org.xworker.thingManagers.TransientThingManager
所有已实现的接口:
ThingManager

public class TransientThingManager
extends java.lang.Object
implements ThingManager

瞬态的事物的管理者。

作者:
zyx

字段摘要
(专用软件包)  TransientCategory category
          瞬态管理者的目录只有一个,就是根目录
(专用软件包)  java.util.List<Category> categorys
          瞬态管理者的目录列表(只包含根目录的)
(专用软件包)  java.util.List<ThingIndex> thingIndexs
          瞬态事物的索引列表
(专用软件包)  java.util.Map<java.lang.String,java.lang.ref.WeakReference<Thing>> things
          保存瞬态事物的Map,使用弱引用保存事物,这样事物在其他地方没有引用时可以被虚拟机回收
private  long transientId
          所有的瞬态事物会被分配给唯一标识,这个标识用long类型的值来递增生成
 
构造方法摘要
TransientThingManager()
           
 
方法摘要
 void addThingManagerListener(ThingManagerListener listener)
          添加事物管理者事件。
 void clearCache()
          清空缓存。
 boolean createCategory(java.lang.String categoryName)
          创建新的目录。
 Category getCategory(java.lang.String name)
          通过指定的目录名称获取目录。
 java.util.List<Category> getCategorys()
          返回事物管理者定义的所有目录列表。
 java.lang.String getName()
          获得事物管理者的名称。
 long getNextId()
          获取下一个瞬态标识。
 Project getProject()
          获得事物管理者所在的项目。
 Thing getThing(java.lang.String thingPath)
          通过事物的名称取得事物。
 ThingIndex getThingIndex(java.lang.String thingName)
           
 java.util.List<ThingIndex> getThingIndexs(java.lang.String categoryName, boolean includeChildCategory)
          返回指定目录下的事物索引列表。
 java.util.List<ThingIndex> getThingIndexs(java.lang.String categoryName, java.lang.String descriptorPath, boolean includeChildCategory)
          根据描述者获取指定目录下的事物索引列表。
 java.util.List<Thing> getThings(java.lang.String categoryName, boolean includeChildCategory)
          取得指定目录下的事物列表。
 java.util.List<Thing> getThings(java.lang.String categoryName, java.lang.String descriptorPath, boolean includeChildCategory)
          根据事物描述者取得指定目录下的事物列表。
 java.util.Iterator<Thing> iterator(java.lang.String categoryName, boolean includeChildCategory)
          指定目录遍历该目录下的事物。
 java.util.Iterator<Thing> iterator(java.lang.String categoryName, java.lang.String descriptorPath, boolean includeChildCategory)
          指定事物的描述者遍历指定目录下的事物。
 void refresh()
          刷新事物管理者。
 void refresh(java.lang.String categoryName, boolean includeChildCategory)
          刷新指定目录。
 boolean remove()
          删除此事物管理者,在此方法里实现清除此事物管理者的相关内容。
 boolean remove(Thing thing)
          从事物管理者中移除一个事物。
 boolean removeCategory(java.lang.String categoryName)
          删除一个目录。
 boolean removeThingManagerListener(ThingManagerListener listener)
          删除事物管理者的监听事件。
 boolean save(Thing athing)
          保存一个事物。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

category

TransientCategory category
瞬态管理者的目录只有一个,就是根目录


categorys

java.util.List<Category> categorys
瞬态管理者的目录列表(只包含根目录的)


things

java.util.Map<java.lang.String,java.lang.ref.WeakReference<Thing>> things
保存瞬态事物的Map,使用弱引用保存事物,这样事物在其他地方没有引用时可以被虚拟机回收


thingIndexs

java.util.List<ThingIndex> thingIndexs
瞬态事物的索引列表


transientId

private long transientId
所有的瞬态事物会被分配给唯一标识,这个标识用long类型的值来递增生成

构造方法详细信息

TransientThingManager

public TransientThingManager()
方法详细信息

getNextId

public long getNextId()
获取下一个瞬态标识。

返回:
标识

getName

public java.lang.String getName()
从接口 ThingManager 复制的描述
获得事物管理者的名称。

指定者:
接口 ThingManager 中的 getName
返回:
事物管理者的名称

clearCache

public void clearCache()
从接口 ThingManager 复制的描述
清空缓存。

指定者:
接口 ThingManager 中的 clearCache

createCategory

public boolean createCategory(java.lang.String categoryName)
从接口 ThingManager 复制的描述
创建新的目录。

指定者:
接口 ThingManager 中的 createCategory
参数:
categoryName - 目录名称
返回:
已创建或已存在的目录

getCategorys

public java.util.List<Category> getCategorys()
从接口 ThingManager 复制的描述
返回事物管理者定义的所有目录列表。

指定者:
接口 ThingManager 中的 getCategorys
返回:
事物管理者的所有目录

getThing

public Thing getThing(java.lang.String thingPath)
从接口 ThingManager 复制的描述
通过事物的名称取得事物。

指定者:
接口 ThingManager 中的 getThing
参数:
thingPath - 事物的名称,此名称为全名(包含目录)
返回:
事物

save

public boolean save(Thing athing)
从接口 ThingManager 复制的描述
保存一个事物。

指定者:
接口 ThingManager 中的 save
参数:
athing - 要保存的事物
返回:
如果保存成功那么返回该事物的根父事物,否则返回null

remove

public boolean remove(Thing thing)
从接口 ThingManager 复制的描述
从事物管理者中移除一个事物。

指定者:
接口 ThingManager 中的 remove
参数:
thing - 要移除的事物
返回:
已经被移除的事物,如果没有则返回null

getCategory

public Category getCategory(java.lang.String name)
从接口 ThingManager 复制的描述
通过指定的目录名称获取目录。

指定者:
接口 ThingManager 中的 getCategory
参数:
name - 目录的名称
返回:
目录,如果不存在返回null

refresh

public void refresh()
从接口 ThingManager 复制的描述
刷新事物管理者。

指定者:
接口 ThingManager 中的 refresh

remove

public boolean remove()
从接口 ThingManager 复制的描述
删除此事物管理者,在此方法里实现清除此事物管理者的相关内容。

指定者:
接口 ThingManager 中的 remove

getThings

public java.util.List<Thing> getThings(java.lang.String categoryName,
                                       boolean includeChildCategory)
从接口 ThingManager 复制的描述
取得指定目录下的事物列表。

指定者:
接口 ThingManager 中的 getThings
参数:
categoryName - 目录名称
includeChildCategory - 是否包含子目录
返回:
事物列表

getThings

public java.util.List<Thing> getThings(java.lang.String categoryName,
                                       java.lang.String descriptorPath,
                                       boolean includeChildCategory)
从接口 ThingManager 复制的描述
根据事物描述者取得指定目录下的事物列表。

指定者:
接口 ThingManager 中的 getThings
参数:
categoryName - 目录名称
includeChildCategory - 是否包含子目录
返回:
事物列表

iterator

public java.util.Iterator<Thing> iterator(java.lang.String categoryName,
                                          boolean includeChildCategory)
从接口 ThingManager 复制的描述
指定目录遍历该目录下的事物。

指定者:
接口 ThingManager 中的 iterator
参数:
categoryName - 目录名称
includeChildCategory - 是否包含子目录
返回:
事物遍历器

iterator

public java.util.Iterator<Thing> iterator(java.lang.String categoryName,
                                          java.lang.String descriptorPath,
                                          boolean includeChildCategory)
从接口 ThingManager 复制的描述
指定事物的描述者遍历指定目录下的事物。

指定者:
接口 ThingManager 中的 iterator
参数:
categoryName - 目录名称
descriptorPath - 描述者的路径
includeChildCategory - 是否包含子目录
返回:
事物遍历器

getThingIndex

public ThingIndex getThingIndex(java.lang.String thingName)

getThingIndexs

public java.util.List<ThingIndex> getThingIndexs(java.lang.String categoryName,
                                                 boolean includeChildCategory)
从接口 ThingManager 复制的描述
返回指定目录下的事物索引列表。

指定者:
接口 ThingManager 中的 getThingIndexs
参数:
categoryName - 目录名称
includeChildCategory - 是否包含子目录
返回:
目录索引列表

getThingIndexs

public java.util.List<ThingIndex> getThingIndexs(java.lang.String categoryName,
                                                 java.lang.String descriptorPath,
                                                 boolean includeChildCategory)
从接口 ThingManager 复制的描述
根据描述者获取指定目录下的事物索引列表。

指定者:
接口 ThingManager 中的 getThingIndexs
参数:
categoryName - 目录名称
descriptorPath - 描述者路径
includeChildCategory - 是否包含子目录
返回:
目录索引列表

refresh

public void refresh(java.lang.String categoryName,
                    boolean includeChildCategory)
从接口 ThingManager 复制的描述
刷新指定目录。

指定者:
接口 ThingManager 中的 refresh
参数:
categoryName - 目录

removeCategory

public boolean removeCategory(java.lang.String categoryName)
从接口 ThingManager 复制的描述
删除一个目录。

指定者:
接口 ThingManager 中的 removeCategory
参数:
categoryName - 目录名称
返回:
是否删除成功

getProject

public Project getProject()
从接口 ThingManager 复制的描述
获得事物管理者所在的项目。

指定者:
接口 ThingManager 中的 getProject
返回:
项目

addThingManagerListener

public void addThingManagerListener(ThingManagerListener listener)
从接口 ThingManager 复制的描述
添加事物管理者事件。

指定者:
接口 ThingManager 中的 addThingManagerListener
参数:
listener - 事物管理者的事件

removeThingManagerListener

public boolean removeThingManagerListener(ThingManagerListener listener)
从接口 ThingManager 复制的描述
删除事物管理者的监听事件。

指定者:
接口 ThingManager 中的 removeThingManagerListener
参数:
listener - 事物管理者监听事件