class NativeEngine extends EngineTemplate<Void> {

    public static final String baseDir = "${base}";

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

    @Override
    public Void init() {
        return null;
    }

    @SneakyThrows
    @Override
    public void render(Void unused, String filePath, Map<String, Object> bindingMap, Writer out) {<FILL_FUNCTION_BODY>}
}

        @Cleanup InputStream inputStream = this.getClass().getResourceAsStream(filePath);
        String html = "";
        if (null == inputStream) {
            html = "<h1 align='center'>404 not found</h1>";
        } else {
            html = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);
        }
        HttpServletRequest request = (HttpServletRequest) bindingMap.get(EngineConst.INJECT_REQUEST);
        out.write(html.replace(baseDir, request.getContextPath()));
    
<methods>public non-sealed void <init>() ,public abstract xyz.erupt.annotation.sub_erupt.Tpl.Engine engine() ,public java.lang.Void getEngine() ,public abstract java.lang.Void init() ,public abstract void render(java.lang.Void, java.lang.String, Map<java.lang.String,java.lang.Object>, java.io.Writer) ,public void setEngine(java.lang.Void) <variables>private java.lang.Void engine