Examples of AbstractRenderAppender


Examples of org.apache.beehive.netui.tags.rendering.AbstractRenderAppender

            try {
                DataGridUtil.putCellModel(getJspContext(), model);

                InternalStringBuilder content = new InternalStringBuilder();
                AbstractRenderAppender appender = new StringBuilderRenderAppender(content);

                renderCell(appender);

                if(content != null && content.length() > 0)
                    getJspContext().getOut().println(content.toString());
View Full Code Here

Examples of org.apache.beehive.netui.tags.rendering.AbstractRenderAppender

            }

            boolean addedDataAccessProvider = false;
            try {
                InternalStringBuilder builder = new InternalStringBuilder(2048);
                AbstractRenderAppender appender = new StringBuilderRenderAppender(builder);

                /* todo: perf -- this doesn't need to happen when the data set is empty */
                DataAccessProviderStack.addDataAccessProvider(this, getJspContext());
                DataGridUtil.putDataGridTagModel(getJspContext(), _dataGridTagModel);
                addedDataAccessProvider = true;

                StringWriter sw = new StringWriter();
                /*
                   allow sub-tags to do work during START before rendering
                   this makes it possible to have tags out of order and to
                   have rendering work correctly
                 */
                /* todo: perf -- should you be able to turn this off for perf? */
                fragment.invoke(sw);

                /* todo: this needs to move into the DataGridTagModel */
                PagerModel pm = _dataGridTagModel.getState().getPagerModel();
                _dataGridTagModel.getDataSet().createWindow(pm.getRow(), pm.getPageSize());

                /* now that the model objects have been initialized, it's time to start rendering */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_START);

                if(!_dataGridTagModel.isDisableDefaultPagerRendering())
                    _dataGridTagModel.renderPager(appender);

                _tableState.styleClass = styleModel.getTableClass();
                tableRenderer.openTable(_tableState, appender);

                /* render the caption */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_CAPTION);
                sw = new StringWriter();
                fragment.invoke(sw);
                String caption = sw.toString();
                if(caption != null)
                    appender.append(caption);

                /* render the header */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_HEADER);
                sw = new StringWriter();
                fragment.invoke(sw);
                String header = sw.toString();
                if(header != null)
                    appender.append(header);

                /* intermediate storage for the body and footer content
                   these are required by the HTML spec:
                       http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.2.3
                   as when the row groups are used, they must be re-ordered so that
                   <tfoot> preceeds <tbody>
                 */

                String tbody = null;
                String tfoot = null;

                /* render the body */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_GRID);
                sw = new StringWriter();
                fragment.invoke(sw);
                tbody = sw.toString();

                /* render the footer */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_FOOTER);
                sw = new StringWriter();
                fragment.invoke(sw);
                String footer = sw.toString();
                String trimmed = footer.trim();
                if(footer != null && !trimmed.trim().equals(""))
                    tfoot = footer;

                if(_dataGridTagModel.isRenderRowGroups()) {
                    if(tfoot != null)
                        appender.append(tfoot);
                    appender.append(tbody);
                }
                else {
                    appender.append(tbody);
                    if(tfoot != null)
                        appender.append(tfoot);
                }

                tableRenderer.closeTable(appender);

                if(javascript != null)
                    appender.append(javascript);

                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_END);

                write(builder.toString());
            }
View Full Code Here

Examples of org.apache.beehive.netui.tags.rendering.AbstractRenderAppender

                }

                StringWriter sw = new StringWriter();
                TableRenderer tableRenderer = dgm.getTableRenderer();
                StyleModel stylePolicy = dgm.getStyleModel();
                AbstractRenderAppender appender = new WriteRenderAppender(jspContext);

                if(_captionTag.styleClass == null)
                    _captionTag.styleClass = stylePolicy.getCaptionClass();

                tableRenderer.openCaption(_captionTag, appender);

                fragment.invoke(sw);
                appender.append(sw.toString());

                tableRenderer.closeCaption(appender);

                if(captionScript != null)
                    appender.append(captionScript);
            }
        }
    }
View Full Code Here

Examples of org.apache.beehive.netui.tags.rendering.AbstractRenderAppender

            TableRenderer tableRenderer = dataGridModel.getTableRenderer();
            assert tableRenderer != null;

            InternalStringBuilder content = new InternalStringBuilder();
            AbstractRenderAppender appender = new StringBuilderRenderAppender(content);
            JspFragment fragment = getJspBody();

            if(dataGridModel.isRenderRowGroups())
                tableRenderer.openTableBody(_tbodyTag, appender);

            HttpServletRequest request = JspUtil.getRequest(getJspContext());
            while(dataGridModel.hasNextDataItem()) {

                StringWriter sw = new StringWriter();

                /* first things first -- advance to the next data item */
                dataGridModel.nextDataItem();

                fragment.invoke(sw);

                String trScript = null;
                if(_renderRow) {
                    TrTag.State trState = new TrTag.State();
                    int index = dataGridModel.getCurrentIndex();
                    if(index % 2 == 0)
                        trState.styleClass = styleModel.getRowClass();
                    else trState.styleClass = styleModel.getAltRowClass();

                    if(trState.id != null)
                        trScript = renderNameAndId(request, trState, null);

                    tableRenderer.openTableRow(trState, appender);
                }

                content.append(sw.toString());

                if(_renderRow) {
                    tableRenderer.closeTableRow(appender);

                    if(trScript != null)
                        appender.append(trScript);
                }
            }

            if(dataGridModel.isRenderRowGroups()) {
                tableRenderer.closeTableBody(appender);

                String tbodyScript = null;
                if(_tbodyTag.id != null) {
                    tbodyScript = renderNameAndId(request, _tbodyTag, null);
                }

                if(tbodyScript != null)
                    appender.append(tbodyScript);
            }

            jspContext.getOut().write(content.toString());
        }
    }
View Full Code Here

Examples of org.apache.beehive.netui.tags.rendering.AbstractRenderAppender

        TableRenderer tableRenderer = dataGridModel.getTableRenderer();
        assert tableRenderer != null;

        HttpServletRequest request = JspUtil.getRequest(getJspContext());
        InternalStringBuilder content = new InternalStringBuilder();
        AbstractRenderAppender appender = new StringBuilderRenderAppender(content);

        if(_trState.styleClass == null) {
            if(renderState == DataGridTagModel.RENDER_STATE_GRID) {
                int index = dataGridModel.getCurrentIndex();
                if(index % 2 == 0)
                    _trState.styleClass = styleModel.getRowClass();
                else _trState.styleClass = styleModel.getAltRowClass();
            }
            else if(renderState == DataGridTagModel.RENDER_STATE_HEADER)
                _trState.styleClass = styleModel.getHeaderRowClass();
            else if(renderState == DataGridTagModel.RENDER_STATE_FOOTER)
                _trState.styleClass = styleModel.getFooterRowClass();
            else assert false : "Attempting to apply style information during an invalid render state";
        }

        String trScript = null;
        if(_trState.id != null)
            trScript = renderNameAndId(request, _trState, null);

        tableRenderer.openTableRow(_trState, appender);

        StringWriter sw = new StringWriter();
        if(fragment != null)
            fragment.invoke(sw);
        appender.append(sw.toString());

        tableRenderer.closeTableRow(appender);

        if(trScript != null)
            appender.append(trScript);

        jspContext.getOut().write(content.toString());

        return;
    }
View Full Code Here
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.