freemarker 0.1.1

Apache FreeMarker 语义兼容的 Rust 模板引擎(freemarker-core 迁移)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//! 缓存存储 —— 对应 Java `freemarker.cache.CacheStorage`
//! (模板缓存的底层键值存储抽象;Java 注释:实现可以非线程安全,由
//! TemplateCache 负责同步——Rust 侧用内部 Mutex 自同步,语义等价)
//! Java 键为 TemplateKey 对象,Rust 键为规范化模板名(与 v1 TemplateCache 一致)

use crate::template::Template;
use std::rc::Rc;

/// 缓存存储(对应 CacheStorage.java:get/put/remove/clear)
pub trait CacheStorage {
    fn get(&mut self, key: &str) -> Option<Rc<Template>>;
    fn put(&mut self, key: &str, value: Rc<Template>);
    fn remove(&mut self, key: &str);
    fn clear(&mut self);
}