public Object eval()

in src/main/java/org/apache/sling/scripting/sightly/impl/engine/SightlyCompiledScript.java [47:66]


    public Object eval(ScriptContext context) {
        Bindings bindings = context.getBindings(ScriptContext.ENGINE_SCOPE);
        SlingBindings slingBindings = new SlingBindings();
        slingBindings.putAll(bindings);
        SlingHttpServletRequest request = slingBindings.getRequest();
        if (request == null) {
            throw new SightlyException("Missing SlingHttpServletRequest from ScriptContext.");
        }
        Object oldBindings = request.getAttribute(SlingBindings.class.getName());
        try {
            request.setAttribute(SlingBindings.class.getName(), slingBindings);
            RenderContext renderContext = new RenderContextImpl(
                    scriptEngine.getConfiguration(), scriptEngine.getExtensionRegistryService(), context);
            PrintWriter out = new PrintWriter(context.getWriter());
            renderUnit.render(out, renderContext, new LazyBindings());
        } finally {
            request.setAttribute(SlingBindings.class.getName(), oldBindings);
        }
        return null;
    }