FlushableCache
基本信息
net.glease.tc4tweak.modules.FlushableCache —— 所有模块缓存的抽象基类,
支持批量启用/禁用(调试用)。
泛型
public abstract class FlushableCache<E> {
protected abstract E createCache();
子类实现 createCache() 造出具体的缓存容器
(ConcurrentMap、TIntObjectMap、Set<String> 等)。
静态控制
| 方法 | 行 | 说明 |
|---|---|---|
static enableAll(boolean doCreate) |
25 | 启用全部缓存;doCreate 决定是否同时创建实例 |
static disableAll() |
31 | 禁用全部缓存 |
enableAll / disableAll 是静态的 —— 说明内部维护一个全局缓存实例注册表
(所有子类实例),而非逐对象管理。
实例方法
| 方法 | 行 | 说明 |
|---|---|---|
isEnabled() |
52 | 该缓存是否启用 |
getCache() |
56 | 取缓存实例(禁用时应返回 null/空) |
子类
| 子类 | 泛型实参 |
|---|---|
CrucibleRecipeByHash |
TIntObjectMap<CrucibleRecipe> |
CustomItemStacks |
Set<String> |
RangedObjectTags |
ConcurrentMap<Item, List<int[]>> |
| 另见 ObjectTagsCache 等 | — |
语义用途
「禁用缓存」是调试手段:关掉后每次都重建,能暴露缓存不一致导致的 bug, 也能验证某功能是否依赖缓存。
相关条目
源码
src/main/java/net/glease/tc4tweak/modules/FlushableCache.java