Example usage for org.apache.wicket.markup.parser XmlTag toCharSequence

List of usage examples for org.apache.wicket.markup.parser XmlTag toCharSequence

Introduction

In this page you can find the example usage for org.apache.wicket.markup.parser XmlTag toCharSequence.

Prototype

public CharSequence toCharSequence() 

Source Link

Usage

From source file:org.wicketstuff.minis.apanel.GridLayout.java

License:Apache License

private void writeOutput(final StringBuilder stringBuilder) {
    stringBuilder.append("<table>");

    final GridConstraintIterator iterator = new GridConstraintIterator(constraintsMap.entrySet());
    while (iterator.hasNext()) {
        final Map.Entry<GridLayoutConstraint, Component> entry = iterator.next();
        final GridLayoutConstraint constraint = entry.getKey();
        final Component component = entry.getValue();

        CharSequence markup = "";
        if (component != EMPTY_CELL_COMPONENT) {
            final IComponentRenderer<Component> componentRenderer = renderersList
                    .findRendererForClass(component.getClass());
            markup = componentRenderer.getMarkup(component);
        }/*from  w  w w .j a v a2 s.  co  m*/

        if (iterator.isNewRow())
            stringBuilder.append("</tr>");
        if (iterator.isNewRow() || iterator.isAtFirstConstraint()) {
            final XmlTag xmlTag = createXmlTag("tr", XmlTag.TagType.OPEN);
            onGridRow(xmlTag);
            stringBuilder.append(xmlTag.toCharSequence());
        }

        final XmlTag xmlTag = createXmlTag("td", XmlTag.TagType.OPEN);
        onGridCell(component, xmlTag);
        if (constraint.getColSpan() > 1)
            xmlTag.put("colspan", constraint.getColSpan());
        if (constraint.getRowSpan() > 1)
            xmlTag.put("rowspan", constraint.getRowSpan());
        stringBuilder.append(xmlTag.toCharSequence());

        stringBuilder.append(markup);

        stringBuilder.append("</td>");
    }

    stringBuilder.append("</tr>");
    stringBuilder.append("</table>");
}