/* * Copyright © 2014 YAOCHEN Corporation, All Rights Reserved */ package com.easyooo.framework.cache; import com.easyooo.framework.cache.config.CacheBean; /** * 缓存主键生成器接口定义,可自行扩展该接口实现自己的Key生成规则 * * @author Killer */ public interface KeyBuilder { /** * 生成缓存主键通过缓存配置, * 必须保证 {@link CacheBean#getKeyPropertyList()}已配置。 * * @param cacheBean * @param primaryKeys 主键值,支持复合主键 * @return */ String buildKey(CacheBean cacheBean, String ...primaryKeys); /** * 生成一组缓存主键通过主键值以及缓存的配置, * 必须保证 <code>{@link CacheBean#getMergingBean()}</code>是合法的, * 合并的Class中,必须保证实体类的缓存主键配置是一致的, * 否则将生成错误的Cache KEY, 导致合并失败 * * @param cacheBean * @param primaryKeys 缓存实体类的主键值,支持复合主键 * @return */ //String[] buildMergingKeys(CacheBean cacheBean, String...primaryKeys); /** * 生成一个分组列表格式的缓存主键,给定的缓存配置, * 必须保证<code>{@link CacheBean#getGroupList()}</code>正确 * * @param cacheBean * @return */ String buildGroupKey(CacheBean cacheBean, String groupName, String...groupKeys); /** * 生成gets小表所有数据格式的缓存主键 * @param cacheBean * @return */ String buildMiniTableKey(CacheBean cacheBean); }