Package org.rendersnake.internal

Source Code of org.rendersnake.internal.RenderableAttributeRenderer

package org.rendersnake.internal;

import java.io.IOException;

import org.antlr.stringtemplate.AttributeRenderer;
import org.rendersnake.HtmlCanvas;
import org.rendersnake.RenderableAttribute;
/**
* RenderableAttributeRenderer is a helper class to render components
* when processing a template using {@link StringTemplate}
*
* @author ernestmicklei
*/
public class RenderableAttributeRenderer implements AttributeRenderer {

    /**
     * Return the HTML snippet to replace the reference in a template
     */
    public String toString(Object o) {
        RenderableAttribute cc = (RenderableAttribute)o;
        HtmlCanvas attributeCanvas = cc.getCanvas();
        HtmlCanvas localCanvas = attributeCanvas.createLocalCanvas();
        localCanvas.getPageContext().attributes = attributeCanvas.getPageContext().attributes;
        try {
            cc.getComponent().renderOn(localCanvas);
        } catch (IOException e) {
            return "RenderableAttributeRenderer-ERROR:" + e.getMessage();
        }
        return localCanvas.toHtml();
    }
}
TOP

Related Classes of org.rendersnake.internal.RenderableAttributeRenderer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.