Example usage for javax.servlet.jsp.tagext SimpleTag getClass

List of usage examples for javax.servlet.jsp.tagext SimpleTag getClass

Introduction

In this page you can find the example usage for javax.servlet.jsp.tagext SimpleTag getClass.

Prototype

@HotSpotIntrinsicCandidate
public final native Class<?> getClass();

Source Link

Document

Returns the runtime class of this Object .

Usage

From source file:de.micromata.genome.gwiki.page.gspt.TagSupport.java

public static void initSimpleSimpleTag(SimpleTag tag, List<Object> attributes, final ChildPageContext ctx,
        final Closure body) throws Exception {
    if (log.isDebugEnabled())
        log.debug("Init simple tag: " + tag.getClass().getName());
    Tag ptag = ctx.getCurrentTag();/*from w  w  w. j  a v a2 s  .c o m*/
    final JspContext pctx;// .getBrickContext().getPageContext();
    if (ctx.isUseParentTagContext() == true) {
        pctx = ctx.getParentPageContext();
    } else {
        pctx = ctx;
    }
    tag.setJspContext(pctx);
    tag.setParent(ptag);
    attributes = evalAttributes(tag, attributes, ctx);
    setAttributes(tag, attributes, ctx);
    final TagAdapter tagAdapter = new TagAdapter(tag);
    ctx.setCurrentTag(tagAdapter);
    tag.setJspBody(new JspFragment() {
        @Override
        public JspContext getJspContext() {
            return pctx;
        }

        @Override
        public void invoke(Writer out) throws JspException, IOException {
            ctx.getTagStack().push(new Pair<Tag, Integer>(tagAdapter, -1));
            try {
                JspWriter oldOut = null;
                try {
                    if (pctx instanceof ChildPageContext) {
                        oldOut = pctx.getOut();
                        if (out != oldOut) {
                            ((ChildPageContext) pctx).setInternalGroovyOut(createPrintWriter(out));
                        } else {
                            oldOut = null;
                        }
                    }
                    body.call();
                } finally {
                    if (oldOut != null) {
                        pctx.getOut().flush();
                        ((ChildPageContext) pctx).setInternalGroovyOut(createPrintWriter(oldOut));
                    }
                }
            } finally {
                ctx.getTagStack().pop();
            }
        }
    });
    tag.doTag();
    ctx.setCurrentTag(ptag);
}