class EnjoyEngine extends EngineTemplate<Engine> {

    @Override
    public Tpl.Engine engine() {
        return Tpl.Engine.Enjoy;
    }

    @Override
    public Engine init() {<FILL_FUNCTION_BODY>}

    @Override
    public void render(Engine engine, String filePath, Map<String, Object> bindingMap, Writer out) {
        engine.getTemplate(filePath).render(bindingMap, out);
    }
}

        Engine eng = new Engine();
        eng.addSharedMethod(StrKit.class);
        eng.setDevMode(true);
        return eng;
    
<methods>public non-sealed void <init>() ,public abstract xyz.erupt.annotation.sub_erupt.Tpl.Engine engine() ,public Engine getEngine() ,public abstract Engine init() ,public abstract void render(Engine, java.lang.String, Map<java.lang.String,java.lang.Object>, java.io.Writer) ,public void setEngine(Engine) <variables>private Engine engine