class RuleCache {
    private LoadingCache<String, RuleEntity> loadingCache;

    public RuleCache() {
        loadingCache = Caffeine.newBuilder()
                .expireAfterWrite(365 * 100, TimeUnit.DAYS)
                .initialCapacity(2)
                .maximumSize(10)
                .recordStats()
                .build(new CacheLoader<String, RuleEntity>() {
                    @Override
                    public RuleEntity load(String key) throws Exception {
                        return null;
                    }
                });
    }

    public boolean put(String key, RuleEntity ruleEntity) {
        loadingCache.put(key, ruleEntity);

        return Boolean.TRUE;
    }

    public RuleEntity get(String key) {<FILL_FUNCTION_BODY>}

    public boolean clear(String key) {
        loadingCache.invalidate(key);

        return Boolean.TRUE;
    }
}

        try {
            return loadingCache.get(key);
        } catch (Exception e) {
            return null;
        }
    
<no_super_class>