All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mobi.cangol.mobile.service.cache.CacheManager Maven / Gradle / Ivy

There is a newer version: 1.2.7
Show newest version
package mobi.cangol.mobile.service.cache;

import java.io.Serializable;

import mobi.cangol.mobile.service.AppService;

public interface CacheManager extends AppService {
    /**
     * 缓存路径
     */
    String CACHE_DIR = "cache_dir";
    /**
     * 缓存最大大小
     */
    String CACHE_SIZE = "cache_size";

    /**
     * 获取缓存对象
     *
     * @param context 上下文标示,可当做分类
     * @param id      缓存标示
     * @return
     */
    Serializable getContent(String context, String id);

    /**
     * 获取缓存对象
     *
     * @param context     上下文标示,可当做分类
     * @param id          缓存标示
     * @param cacheLoader
     */
    void getContent(final String context, final String id, final CacheLoader cacheLoader);

    /**
     * 判断是否存在缓存对象
     *
     * @param context 上下文标示,可当做分类
     * @param id      缓存标示
     * @return
     */
    boolean hasContent(String context, String id);

    /**
     * 添加缓存对象
     *
     * @param context 上下文标示,可当做分类
     * @param id      缓存标示
     * @param data    必须实现Serializable
     */
    void addContent(String context, String id, Serializable data);

    /**
     * 添加缓存对象
     *
     * @param context 上下文标示,可当做分类
     * @param id      缓存标示
     * @param data    必须实现Serializable
     * @param period  有效期(单位毫秒)
     */
    void addContent(String context, String id, Serializable data, long period);

    /**
     * 移除缓存对象
     *
     * @param context
     */
    void removeContext(String context);

    /**
     * 移除缓存对象
     *
     * @param context 上下文标示,可当做分类
     * @param id      缓存标示
     */
    void removeContent(String context, String id);

    /**
     * 获取缓存大小
     *
     * @return
     */
    long size();

    /**
     * 刷新缓存对象
     */
    void flush();

    /**
     * 关闭缓存
     */
    void close();

    /**
     * 清除缓存
     */
    void clearCache();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy