org.xworker.thingManagers
类 AbstractFileThingManager

java.lang.Object
  继承者 org.xworker.thingManagers.AbstractFileThingManager
所有已实现的接口:
ThingManager
直接已知子类:
XerThingManager

public abstract class AbstractFileThingManager
extends java.lang.Object
implements ThingManager

抽象的以文件的形式存储事物的事物管理者。

作者:
zyx

字段摘要
(专用软件包)  java.util.List<Category> categorys
          事物管理者下所有的目录列表
protected  java.util.List<ThingManagerListener> listeners
          事物管理监听列表
protected  java.lang.String name
          事物管理者的名称
protected  java.lang.String path
          事物管理者的文件路径
protected  Project project
          事物管理者所属的项目
protected  net.sf.ehcache.Cache thingsCache
          事物缓存
(专用软件包)  java.util.List<ThingIndex> thingsIndexs
          事物索引列表
protected  java.lang.String type
          文件类型,文件的扩展名,表示不同格式的事物存储方式
 
构造方法摘要
AbstractFileThingManager(java.lang.String name, java.lang.String path, java.lang.String type, FileProject project)
          抽象文件事物管理者的构造方法。
 
方法摘要
 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()
          获得事物管理者的名称。
 Project getProject()
          获得事物管理者所在的项目。
 Thing getThing(java.lang.String thingPath)
          通过事物的名称取得事物。
 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)
          指定事物的描述者遍历指定目录下的事物。
protected abstract  Thing load(java.lang.String thingPath, java.io.File file)
          装载事物。
protected abstract  ThingIndex loadIndex(java.lang.String thingPath, java.io.File file)
          装载事物的索引。
 void refresh()
          刷新事物管理者。
private  void refresh(java.util.List<java.lang.String> categoryNames, java.util.List<java.lang.String> thingNames, java.lang.String categoryName, java.io.File dir, boolean includeChildCategory)
           
 void refresh(java.lang.String categoryName, boolean includeChildCategory)
          刷新指定目录。
 boolean remove()
          删除此事物管理者,在此方法里实现清除此事物管理者的相关内容。
 boolean remove(Thing thing)
          从事物管理者中移除一个事物。
 boolean removeCategory(java.lang.String categoryName)
          删除一个目录。
 boolean removeThingManagerListener(ThingManagerListener listener)
          删除事物管理者的监听事件。
abstract  boolean save(Thing athing)
          保存一个事物。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

thingsCache

protected net.sf.ehcache.Cache thingsCache
事物缓存


path

protected java.lang.String path
事物管理者的文件路径


name

protected java.lang.String name
事物管理者的名称


project

protected Project project
事物管理者所属的项目


type

protected java.lang.String type
文件类型,文件的扩展名,表示不同格式的事物存储方式


categorys

java.util.List<Category> categorys
事物管理者下所有的目录列表


thingsIndexs

java.util.List<ThingIndex> thingsIndexs
事物索引列表


listeners

protected java.util.List<ThingManagerListener> listeners
事物管理监听列表

构造方法详细信息

AbstractFileThingManager

public AbstractFileThingManager(java.lang.String name,
                                java.lang.String path,
                                java.lang.String type,
                                FileProject project)
抽象文件事物管理者的构造方法。

参数:
name - 事物管理者的名称
type - 事物管理者的类型
project - 事物管理者所属的项目
方法详细信息

clearCache

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

指定者:
接口 ThingManager 中的 clearCache

createCategory

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

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

getCategory

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

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

getCategorys

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

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

getName

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

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

getProject

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

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

getThing

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

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

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 - 是否包含子目录
返回:
目录索引列表

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 - 是否包含子目录
返回:
事物遍历器

load

protected abstract Thing load(java.lang.String thingPath,
                              java.io.File file)
装载事物。

返回:
装载之后的事物

loadIndex

protected abstract ThingIndex loadIndex(java.lang.String thingPath,
                                        java.io.File file)
装载事物的索引。

参数:
file - 文件
返回:
事物的索引

refresh

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

指定者:
接口 ThingManager 中的 refresh

refresh

private void refresh(java.util.List<java.lang.String> categoryNames,
                     java.util.List<java.lang.String> thingNames,
                     java.lang.String categoryName,
                     java.io.File dir,
                     boolean includeChildCategory)

refresh

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

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

remove

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

指定者:
接口 ThingManager 中的 remove

remove

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

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

removeCategory

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

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

save

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

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

addThingManagerListener

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

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

removeThingManagerListener

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

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