CacheManager缓存管理器类,用于管理系统的缓存。例如可以缓存运算后的报表、缓存报表定义、 设缓存路径、设置集群对象等等。
◆ 实例请参考API实例 / 运算报表 / 展现报表
l 构造函数
类名:com.raqsoft.report.cache.CacheManager
l 可用方法
cacheReportDefine
语 法: public ReportEntry cacheReportDefine(java.lang.String reportName, IReport rptDefine)
参数说明:
reportName - 报表名
rptDefine - 报表定义
功能说明: 缓存报表定义,如果缓存中此报表名已存在则抛出异常
Returns : ReportEntry 报表项
调用举例: 略
cacheReport
语 法: public ReportCache cacheReport(java.lang.String reportName, IReport rpt)
参数说明:
reportName - String 报表名,用于生成ReportEntry
rpt - IReport 运算后报表
功能说明: 缓存运算后的报表
Returns : ReportChache 报表缓存
调用举例: 略
deleteTempFiles
语 法: public void deleteTempFiles()
功能说明: 删除cache目录下的所有临时文件
调用举例: 略
deleteReportEntry
语 法: public void deleteReportEntry(java.lang.String reportName)
参数说明: reportName - 报表名
功能说明: 把指定的报表定义的缓存从CacheManager中删除
调用举例: 略
deleteAllReport
语 法: public void deleteAllReport()
功能说明: 删除所有缓存的报表和文件
调用举例: 略
getInstance
语 法: public static CacheManager getInstance()
功能说明: 取得此类的实例,单一实例模型
Returns : CacheManager类的实例
调用举例: 略
getRealtimeReload
语 法: public boolean getRealtimeReload()
功能说明: 获取是否实时读取报表定义
Returns : true表示实时读取报表定义,false表示不实时读取报表定义
调用举例: 略
getCalculatingReports
语 法: public ReportCache[] getCalculatingReports()
功能说明: 返回本地所有正在计算的报表缓存
Returns: ReportCache[]
调用举例: 略
getCalculatingPagers
语 法: public PagerCache[] getCalculatingPagers()
功能说明: 返回本地所有正在计算分页的分页缓存
Returns: PagerCache[]
调用举例: 略
setRealtimeReload
语 法: public void setRealtimeReload(boolean sign)
参数说明: sign - 是否实时读取报表定义,true:是, false:否
功能说明: 设置是否实时读取报表定义
调用举例: 略
setCompressMode
语 法: public void setCompressMode(boolean bZip)
参数说明: bZip - 压缩方式,true:使用zip压缩,false:不压缩
功能说明: 设置压缩方式
调用举例: 略
getCompressMode
语 法: public boolean getCompressMode()
功能说明: 返回压缩方式
Returns : 压缩方式,true:使用zip压缩,false:不压缩
调用举例: 略
getCachePath
语 法: public java.io.File getCachePath()
功能说明: 取缓存路径,缺省为系统临时文件夹
Returns : 缓存路径
调用举例: 略
setCachePath
语 法: public void setCachePath(java.lang.String path)
参数说明: path -缓存路径
功能说明: 设缓存路径
调用举例: 略
setCachePath
语 法: public void setCachePath(java.io.File path)
参数说明: path - File 缓存文件夹对象
功能说明: 设缓存路径
调用举例: 略
getReportDefineLoader
语 法: public IReportDefineLoader getReportDefineLoader()
功能说明: 取缺省的报表定义装载器
Returns : IReportDefineLoader报表定义装载器
调用举例: 略
setReportDefineLoader
语 法: public void setReportDefineLoader(IReportDefineLoader loader)
参数说明: loader - IReportDefineLoader报表定义装载器
功能说明: 设缺省的报表定义装载器
调用举例: 略
getReportEntries
语 法: public java.util.Map getReportEntries()
功能说明: 取所有报表项,此Map由reportName对应ReportEntry 注:对此Map进行操作时必须synchronized(map)
Returns : Map 所有报表项
调用举例: 略
getReportEntry
语 法: public ReportEntry getReportEntry(java.lang.String reportName)
参数说明: reportName - 报表名
功能说明: 按报表名取报表项,若不存在,则产生并返回
Returns : ReportEntry 报表项
调用举例: 略
getReportEntry
语 法: public ReportEntry getReportEntry(java.lang.String reportName,
IReportDefineLoader loader)
参数说明:
reportName - 报表名
loader - 报表装载器
功能说明: 按报表名取报表项,若不存在,则产生并返回
Returns : ReportEntry 报表项
调用举例: 略
hasReportEntry
语 法: public boolean hasReportEntry(java.lang.String reportName)
参数说明: reportName - 报表名
功能说明: 判断缓存中是否有某个报表定义
Returns : 存在返回true,不存在返回false
调用举例: 略
modifyReportDefine
语 法: public void modifyReportDefine(java.lang.String reportName)
参数说明: reportName - 报表名
功能说明: 更新报表定义,此时将清除所有报表名对应的缓存
调用举例: 略
getReportCache
语 法: public ReportCache getReportCache(java.lang.String reportName, Context ctx, long timeout)
参数说明:
reportName - String 报表名
ctx - Context 取报表和运算报表所用的上下文
timeout - long 过期时间,如果过期则产生新的ReportCache
功能说明: 对新产生的请求用context得到运算后报表缓存,如果不存在则创建一新的。
Returns : ReportChache 报表缓存
调用举例: 略
getReportCache
语 法: public ReportCache getReportCache(java.lang.String reportName, java.lang.String reportCacheId)
参数说明:
reportName - String 报表名
reportCacheId - 报表缓存标识号
功能说明: 取报表缓存,此时必须保证报表缓存已产生。
注:1、对同一报表定义,可能会根据不同参数计算出不同的报表缓冲对象
2、当调用setReportModified时会导致报表标识号对应的报表被清除。
Returns : ReportChache 报表缓存
调用举例: 略
setIDPrefix
语 法: public void setIDPrefix(java.lang.String prefix)
参数说明: prefix - String id的前缀
功能说明: 设置id的前缀,防止多进程重名
调用举例: 略
getIDPrefix
语 法: public java.lang.String getIDPrefix()
功能说明: 取id的前缀
Returns : id的前缀
调用举例: 略
getCluster
语 法: public Cluster getCluster()
功能说明: 返回集群对象
Returns : Cluster集群对象
调用举例: 略
setCluster
语 法: public void setCluster(Cluster cluster)
参数说明: cluster - Cluster集群对象
功能说明: 设置集群对象,需有授权
调用举例: 略
isFileShared
语 法: public boolean isFileShared()
功能说明: 返回是否共享硬盘
Returns : 是否共享硬盘,true为共享,false为不共享
调用举例: 略
setFileShared
语 法: public void setFileShared(boolean isShared)
参数说明: isShared -是否共享硬盘,true为共享,false为不共享
功能说明: 设置是否共享硬盘
调用举例: 略
setLogMode
语 法: public static void setLogMode(boolean isShow)
参数说明: boolean – isShow true:输出,false:不输出
功能说明: 设置是否输出缓存日志
调用举例: 略
getLogMode
语 法: public static boolean getLogMode()
功能说明: 设置是否输出缓存日志
Returns : 返回是否输出缓存日志
调用举例: 略
getRemoteReportEntry
语 法: public ReportEntry getRemoteReportyEntry(java.lang.String reportName)
参数说明: String – reportName 报表名
功能说明: 报表定义不在本地。从远程服务器读取报表缓存
Returns : ReportEntry 报表
调用举例: 略
getCurrentWriteCount
语 法: public static int getCurrentWriteCount()
功能说明: 返回当前正在写文件的线程数
Returns : int – 整数 -正在写文件的线程数
调用举例: 略
setUuidAsId(boolean b)
语 法: public void setUuidAsId(boolean b)
参数说明: b - true表示使用uuid作为缓存标识;false表示不使用uuid作为缓存标识。缺省为false。
功能说明: 设置是否使用uuid作为缓存标识。要想使用uuid作为标识请在系统启动时调用此方法。
Returns : 空
调用举例: 略