package com.example.ipcplayer.cache; /** * <h2>可缓存对象接口</h2><br/> * 被缓存的数据对象需要实现该接口,以提供缓存数据及缓存数据对象所占内存大小等 * */ public interface Cacheable { /** * 计算缓存对象所占内存大小 * * @return 缓存对象所占内存空间大小 */ abstract long calculateMemSize(); /** * 构建要缓存的数据(获得json) * * @return 缓存数据 */ abstract String buildCacheData(); /** * 将缓存数据解析成数据对象(解析json 得到cacheable 对象) * * @param 缓存数据 * */ abstract Cacheable parseCacheData(String data); /** * 判断是否可以缓存 * * @return 是否可以缓存 */ abstract boolean isCacheable(); }