E - 持久对象子类public abstract class AbstractPersister<E extends Persistent> extends Object implements Persister<E>
| 限定符和类型 | 类和说明 |
|---|---|
protected class |
AbstractPersister.Cache
缓存
|
| 限定符和类型 | 字段和说明 |
|---|---|
protected static org.slf4j.Logger |
_Logger
日志记录器
|
protected AbstractPersister.Cache |
m_Cache
缓存
|
protected Flusher |
m_Flusher
刷写器
|
protected boolean |
m_ForOwnerEnabled
是否只处理当前服务器持久类
|
protected cn.weforward.common.sys.IdGenerator.Tick |
m_IdGenerator
id生成器
|
protected List<ChangeListener<E>> |
m_Listeners
监听器
|
protected String |
m_Name
持久器名
|
protected boolean |
m_ReloadEnabled
是否开始重载接口
|
protected int |
m_VerifyNewIdTrys
检查新ID有重复时的重试次数(不大于0表示不检查)
|
| 限定符 | 构造器和说明 |
|---|---|
protected |
AbstractPersister(String name) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addListener(ChangeListener<E> l)
添加监听
|
void |
cleanup()
清理持久器,立刻持久所有标记更新的持久对象
|
boolean |
equals(Object obj) |
void |
flush(E object)
若对象标示为更新的,立刻持久化对象
|
E |
get(String id)
由ID取得持久对象
|
E |
get(UniteId id)
由ID取得持久对象
|
PersistentCache<E> |
getCache() |
Flusher |
getFlusher() |
cn.weforward.common.sys.IdGenerator |
getIdGenerator()
持久器的ID生成器
|
String |
getName()
取持久器名称,通常为类名
|
UniteId |
getNewId()
生成新ID供新建对象使用
|
UniteId |
getNewId(String prefix)
生成新ID并加上指定前缀
|
E |
getOfCache(String id)
由缓存取得
|
String |
getPersisterId()
取得持久器的服务器标识
|
int |
getVerifyNewIdTrys()
检查新ID有重复时的重试次数(不大于0表示不检查)
|
String |
getVersion(UniteId id)
取得持久对象持久化后的版本号
|
boolean |
hold(E object) |
protected abstract boolean |
innerDelete(String id)
删除对象
|
protected abstract ObjectWithVersion<E> |
innerLoad(String id)
装入对象
|
protected abstract String |
innerNew(E object)
新增的对象(用于持久器在对象未刷写前能进行查询)
|
protected abstract String |
innerSave(E object)
保存对象状态
|
protected String |
innerSave(E object,
String oldVersion)
保存对象状态
|
boolean |
isDirty(E instance)
检查缓存中的持久对象是否还处理待刷写状态
|
boolean |
isForOwnerEnabled()
只处理当前服务器持久类
|
boolean |
isOwner(E obj)
对象是否属于当前服务器(根据对象持久ID确定)
|
boolean |
isReloadEnabled()
是否已经启用对象重载功能,还需要业务对象实现以下接口才能收到通知
|
void |
persist(E object)
立刻保存对象
|
protected String |
persist(E object,
String oldVersion) |
E |
putOfCache(E object)
置入缓存
|
boolean |
remove(String id)
由持久器中删除指定ID的持久对象
|
boolean |
remove(UniteId id)
由持久器中删除指定ID的持久对象
|
void |
removeListener(ChangeListener<E> l)
移除监听
|
E |
removeOfCache(String id)
只由缓存中删除
|
cn.weforward.common.ResultPage<E> |
search(Condition condition)
条件查询
|
cn.weforward.common.ResultPage<E> |
search(Condition condition,
OrderBy orderBy)
条件查询
|
cn.weforward.common.ResultPage<E> |
search(Date begin,
Date end)
查找在指定时间段内变化(持久化)过的对象 (begin,end]
|
Iterator<E> |
search(String serverId,
Date begin,
Date end)
查找在指定时间段内变化(持久化)过的对象
|
cn.weforward.common.ResultPage<String> |
searchOfId(Condition condition)
条件查询
|
cn.weforward.common.ResultPage<E> |
searchRange(String from,
String to)
查找ID在指定区间内的对象,id>=from and id<=to
|
Iterator<E> |
searchRange(String serverId,
String from,
String to)
查找ID在指定区间内的对象,id>=from and id<=to
|
void |
setFlusher(Flusher flusher) |
boolean |
setForOwnerEnabled(boolean enabled)
启用/关闭只处理当前服务器持久类
|
void |
setPersisterId(String id)
为持久器产生的对象ID加上标识,标识的范围为0x01~0xFF
|
void |
setReachable(boolean enabled)
是否控制对象单例
|
boolean |
setReloadEnabled(boolean enabled)
启用/关闭对象重载功能
|
void |
setVerifyNewIdTrys(int verifyNewIdTrys)
检查新ID有重复时的重试次数(不大于0表示不检查)
|
cn.weforward.common.ResultPage<E> |
startsWith(String prefix)
查找ID为指定前缀的对象
|
String |
toString() |
void |
update(E object)
标示对象状态已变化,由持久器选择合适的时候刷写
|
searchOfId, searchOfId, searchOfId, searchRangeOfId, searchRangeOfId, startsWithOfIdprotected static final org.slf4j.Logger _Logger
protected String m_Name
protected AbstractPersister.Cache m_Cache
protected boolean m_ReloadEnabled
protected boolean m_ForOwnerEnabled
protected int m_VerifyNewIdTrys
protected Flusher m_Flusher
protected cn.weforward.common.sys.IdGenerator.Tick m_IdGenerator
protected List<ChangeListener<E extends Persistent>> m_Listeners
protected AbstractPersister(String name)
public String getName()
PersistergetName 在接口中 cn.weforward.common.NameablegetName 在接口中 Persister<E extends Persistent>public int getVerifyNewIdTrys()
public void setVerifyNewIdTrys(int verifyNewIdTrys)
verifyNewIdTrys - 重试次数public void setReachable(boolean enabled)
enabled - true/单例,false/非单例public boolean isReloadEnabled()
PersisterisReloadEnabled 在接口中 Persister<E extends Persistent>Reloadablepublic boolean setReloadEnabled(boolean enabled)
PersistersetReloadEnabled 在接口中 Persister<E extends Persistent>enabled - 启用/关闭public void addListener(ChangeListener<E> l)
PersisteraddListener 在接口中 Persister<E extends Persistent>l - 监听对象public void removeListener(ChangeListener<E> l)
PersisterremoveListener 在接口中 Persister<E extends Persistent>l - 监听对象public boolean isForOwnerEnabled()
PersisterisForOwnerEnabled 在接口中 Persister<E extends Persistent>public boolean setForOwnerEnabled(boolean enabled)
PersistersetForOwnerEnabled 在接口中 Persister<E extends Persistent>enabled - 启用/关闭public void setPersisterId(String id)
id - 服务器标识public String getPersisterId()
PersistergetPersisterId 在接口中 Persister<E extends Persistent>public void setFlusher(Flusher flusher)
public Flusher getFlusher()
public cn.weforward.common.ResultPage<E> startsWith(String prefix)
PersisterstartsWith 在接口中 Persister<E extends Persistent>prefix - ID前缀public cn.weforward.common.ResultPage<E> search(Date begin, Date end)
Persistersearch 在接口中 Persister<E extends Persistent>begin - 开始时间,若=null则不限制开始时间end - 结束时间,若=null则为当前时间public cn.weforward.common.ResultPage<E> searchRange(String from, String to)
PersistersearchRange 在接口中 Persister<E extends Persistent>from - ID开始点,若为null则不限制开始(但to不能为null)to - ID结束点,若为null则不限制结束(但from不能为null)public Iterator<E> search(String serverId, Date begin, Date end)
Persistersearch 在接口中 Persister<E extends Persistent>serverId - 服务器标识(1~255)begin - 开始时间,若=null则不限制开始时间end - 结束时间,若=null则为当前时间public Iterator<E> searchRange(String serverId, String from, String to)
PersistersearchRange 在接口中 Persister<E extends Persistent>serverId - 服务器标识from - ID开始点,若为null则不限制开始(但to不能为null)to - ID结束点,若为null则不限制结束(但from不能为null)protected abstract ObjectWithVersion<E> innerLoad(String id)
id - 对象IDprotected abstract String innerNew(E object)
object - 新增的对象protected abstract boolean innerDelete(String id)
id - 对象IDprotected String innerSave(E object, String oldVersion)
object - 对象oldVersion - 持久化前的版本号public boolean isOwner(E obj)
PersisterisOwner 在接口中 Persister<E extends Persistent>obj - 持久对象public final UniteId getNewId() throws IdDuplicateException
PersistergetNewId 在接口中 Persister<E extends Persistent>IdDuplicateException - id重复异常public UniteId getNewId(String prefix) throws IdDuplicateException
PersistergetNewId 在接口中 Persister<E extends Persistent>prefix - ID前缀IdDuplicateException - id重复异常public boolean hold(E object)
public void cleanup()
Persistercleanup 在接口中 Persister<E extends Persistent>public void flush(E object)
Persisterflush 在接口中 Persister<E extends Persistent>object - 持久对象public E get(String id)
Persisterget 在接口中 Persister<E extends Persistent>id - 持久对象IDpublic E get(UniteId id)
Persisterget 在接口中 Persister<E extends Persistent>id - 持久对象IDpublic boolean remove(String id)
Persisterremove 在接口中 Persister<E extends Persistent>id - 持久对象IDpublic boolean remove(UniteId id)
Persisterremove 在接口中 Persister<E extends Persistent>id - 持久对象IDpublic void update(E object)
Persisterupdate 在接口中 Persister<E extends Persistent>object - 持久对象public void persist(E object)
Persisterpersist 在接口中 Persister<E extends Persistent>object - 对象public PersistentCache<E> getCache()
public boolean isDirty(E instance)
PersisterisDirty 在接口中 Persister<E extends Persistent>instance - 要检查的对象public cn.weforward.common.ResultPage<E> search(Condition condition)
Persistersearch 在接口中 Persister<E extends Persistent>condition - 条件 ConditionUtilpublic cn.weforward.common.ResultPage<String> searchOfId(Condition condition)
PersistersearchOfId 在接口中 Persister<E extends Persistent>condition - 条件 ConditionUtilpublic cn.weforward.common.ResultPage<E> search(Condition condition, OrderBy orderBy)
Persistersearch 在接口中 Persister<E extends Persistent>condition - 条件 ConditionUtilorderBy - 排序 OrderByUtilpublic String getVersion(UniteId id)
PersistergetVersion 在接口中 Persister<E extends Persistent>id - 持久对象IDpublic cn.weforward.common.sys.IdGenerator getIdGenerator()
Copyright © 2021. All rights reserved.