thymeleaf 0.1.0-beta.0

A framework-neutral Thymeleaf-compatible dynamic template engine for Rust
Documentation
use crate::context::ITemplateContext;
use crate::exceptions::TemplateEngineException;
use crate::model::IText;
use crate::processor::IProcessor;

use super::ITextStructureHandler;

/// Text 事件 Processor 合同。
///
/// 对应 Java: `org.thymeleaf.processor.text.ITextProcessor`。
pub trait ITextProcessor: IProcessor {
    /// 处理文本并通过结构处理器声明变更。
    ///
    /// 对应 Java: `ITextProcessor#process(ITemplateContext, IText,
    /// ITextStructureHandler)`。事件不可变,所有输出变更必须写入
    /// `structure_handler`;失败返回 Java 模板引擎异常的 Rust 对应值。
    fn process(
        &self,
        context: &dyn ITemplateContext,
        text: &dyn IText,
        structure_handler: &mut dyn ITextStructureHandler,
    ) -> Result<(), Box<dyn TemplateEngineException>>;
}