Package org.apache.tapestry5.runtime

Examples of org.apache.tapestry5.runtime.RenderCommand


        add(configuration, Renderable.class, RenderCommand.class, new Coercion<Renderable, RenderCommand>()
        {
            public RenderCommand coerce(final Renderable input)
            {
                return new RenderCommand()
                {
                    public void render(MarkupWriter writer, RenderQueue queue)
                    {
                        input.render(writer);
                    }
View Full Code Here


        this.queue = queue;
    }

    public void renderMarkup(MarkupWriter writer, final JSONObject reply, PartialMarkupRenderer renderer)
    {
        RenderCommand forZone = new RenderCommand()
        {
            public void render(MarkupWriter writer, RenderQueue queue)
            {
                // Create an element to contain the content for the zone. We give it a menumonic
                // element name and attribute just to help with debugging (the element itself is discarded).

                final Element zoneContainer = writer.element("zone-update", "zoneId", zoneId);

                queue.push(new RenderCommand()
                {
                    public void render(MarkupWriter writer, RenderQueue queue)
                    {
                        writer.end(); // the zoneContainer element

                        String zoneUpdateContent = zoneContainer.getChildMarkup();

                        zoneContainer.remove();

                        reply.getJSONObject("zones").put(zoneId, zoneUpdateContent);
                    }
                });

                // Make sure the zone's actual rendering command is processed first, then the inline
                // RenderCommand just above.

                queue.push(zoneRenderCommand);
            }
        };

        RenderCommand existing = queue.getRootRenderCommand();

        queue.initializeForPartialPageRender(new CombinedRenderCommand(existing, forZone));

        renderer.renderMarkup(writer, reply);
    }
View Full Code Here

    }

    public void processResultValue(final MultiZoneUpdate value) throws IOException
    {
        // There has to be at least a single command in the queue to force a render.
        queue.initializeForPartialPageRender(new RenderCommand()
        {
            public void render(MarkupWriter writer, RenderQueue queue)
            {
            }
        });

        queue.addPartialMarkupRendererFilter(new SetupZonesFilter());

        Map<String, Object> map = value.getZoneToRenderMap();

        for (String zoneId : map.keySet())
        {
            Object provided = map.get(zoneId);

            RenderCommand zoneRenderCommand = toRenderer(zoneId, provided);

            queue.addPartialMarkupRendererFilter(new SingleZonePartialRendererFilter(zoneId, zoneRenderCommand, queue));
        }
    }
View Full Code Here

                                                                          token.getLocation());

        final String namespace = token.getNamespaceURI();
        final String name = token.getName();

        return new RenderCommand()
        {
            public void render(MarkupWriter writer, RenderQueue queue)
            {
                writer.attributeNS(namespace, name, provider.provideString());
            }
View Full Code Here

            return true; // abort other handler methods
        }

        if (result instanceof RenderCommand)
        {
            RenderCommand command = (RenderCommand) result;

            add(command);

            return false; // do not abort!
        }

        if (result instanceof Renderable)
        {
            final Renderable renderable = (Renderable) result;

            RenderCommand wrapper = new RenderCommand()
            {
                public void render(MarkupWriter writer, RenderQueue queue)
                {
                    renderable.render(writer);
                }
View Full Code Here

    public void body_pushed_to_queue_backwards()
    {
        BlockImpl block = new BlockImpl(null, null);
        RenderQueue queue = mockRenderQueue();
        MarkupWriter writer = mockMarkupWriter();
        RenderCommand element1 = mockRenderCommand();
        RenderCommand element2 = mockRenderCommand();

        getMocksControl().checkOrder(true);

        queue.push(element2);
        queue.push(element1);
View Full Code Here

public class CompositeRenderCommandTest extends InternalBaseTestCase
{
    @DataProvider
    public Object[][] nyi_data()
    {
        RenderCommand push = new RenderCommand()
        {
            public void render(MarkupWriter writer, RenderQueue queue)
            {
                queue.push(null);
            }
        };

        RenderCommand startComponent = new RenderCommand()
        {
            public void render(MarkupWriter writer, RenderQueue queue)
            {
                queue.startComponent(null);
            }
        };

        RenderCommand endComponent = new RenderCommand()
        {
            public void render(MarkupWriter writer, RenderQueue queue)
            {
                queue.endComponent();
            }
View Full Code Here

        train_isInvariant(binding, true);

        replay();

        RenderCommand element = new ExpansionPageElement(binding, coercer);

        verify();

        train_get(binding, value);
        train_coerce(coercer, value, String.class, "STRING-VALUE");
        writer.write("STRING-VALUE");

        replay();

        element.render(writer, queue);

        verify();

        // It is now cached ...

        writer.write("STRING-VALUE");

        replay();

        element.render(writer, queue);

        verify();
    }
View Full Code Here

        train_isInvariant(binding, false);

        replay();

        RenderCommand element = new ExpansionPageElement(binding, coercer);

        verify();

        train_get(binding, value);
        train_coerce(coercer, value, String.class, "STRING-VALUE");
        writer.write("STRING-VALUE");

        replay();

        element.render(writer, queue);

        verify();

        train_get(binding, value);
        train_coerce(coercer, value, String.class, "STRING-VALUE2");
        writer.write("STRING-VALUE2");

        replay();

        element.render(writer, queue);

        verify();
    }
View Full Code Here

        replay();

        PageElementFactory factory = new PageElementFactoryImpl(typeCoercer, bindingSource);
        AttributeToken token = new AttributeToken(null, "name", "value", l);

        RenderCommand element = factory.newAttributeElement(null, token);

        writer.element("root");

        element.render(writer, queue);

        verify();

        assertEquals(writer.toString(), "<?xml version=\"1.0\"?>\n<root name=\"value\"/>");
    }
View Full Code Here

TOP

Related Classes of org.apache.tapestry5.runtime.RenderCommand

Copyright © 2018 www.massapicom. 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.