org.apache.tapestry.components
Class RenderBlock

java.lang.Object
  extended by org.apache.hivemind.impl.BaseLocatable
      extended by org.apache.tapestry.AbstractComponent
          extended by org.apache.tapestry.components.RenderBlock
All Implemented Interfaces:
org.apache.hivemind.Locatable, org.apache.hivemind.LocationHolder, IComponent, IDirectEvent, Component, IRender

public abstract class RenderBlock
extends AbstractComponent

Renders the text and components wrapped by a Blockcomponent. [ Component Reference ]

It is possible for an RenderBlock to obtain a Block from a page other than the render page. This works, even when the Block contains links, forms and form components. The action and direct services will create URLs that properly address this situation.

However, because the rendering page can't know ahead of time about these foreign Blocks, PageBeginRenderListener and PageEndRenderListener methods (for components and objects of the foreign page) via RenderBlock will not be executed. This specifically affects the methods of the PageBeginRenderListener and PageEndRenderListener interfaces.

Before rendering its Block, RenderBlock will set itself as the Block's inserter, and will reset the inserter after the Blockis rendered. This gives the components contained in the Blockaccess to its inserted environment via the RenderBlock. In particular this allows the contained components to access the informal parameters of the RenderBlock which effectively allows parameters to be passed to the components contained in a Block.

Author:
Howard Lewis Ship

Field Summary
 
Fields inherited from class org.apache.tapestry.AbstractComponent
_body, _bodyCount
 
Constructor Summary
RenderBlock()
           
 
Method Summary
abstract  Block getBlock()
           
protected  void renderComponent(IMarkupWriter writer, IRequestCycle cycle)
          If block is not null, then Block.renderForComponent(IMarkupWriter, IRequestCycle, IComponent) is invoked.
 
Methods inherited from class org.apache.tapestry.AbstractComponent
addAsset, addBody, addComponent, checkActiveLock, cleanupAfterRender, enterActiveState, equals, finishLoad, finishLoad, generateClientId, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getBody, getBodyCount, getBoundId, getClientId, getComponent, getComponents, getContainedComponent, getContainedRenderers, getContainer, getEventInvoker, getExtendedId, getId, getIdPath, getInnerRenderers, getListeners, getMessages, getNamespace, getPage, getRenderWorker, getSpecification, getSpecifiedId, getTemplateTagName, hasEvents, hashCode, isInActiveState, isParameterBound, isRendering, isStateful, pageEndRender, peekClientId, prepareForRender, render, renderBody, renderIdAttribute, renderInformalParameters, setBinding, setClientId, setContainedComponent, setContainer, setHasEvents, setId, setNamespace, setPage, setTemplateTagName, toString, triggerEvent
 
Methods inherited from class org.apache.hivemind.impl.BaseLocatable
getLocation, setLocation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.hivemind.LocationHolder
setLocation
 
Methods inherited from interface org.apache.hivemind.Locatable
getLocation
 

Constructor Detail

RenderBlock

public RenderBlock()
Method Detail

renderComponent

protected void renderComponent(IMarkupWriter writer,
                               IRequestCycle cycle)
If block is not null, then Block.renderForComponent(IMarkupWriter, IRequestCycle, IComponent) is invoked.

Specified by:
renderComponent in class AbstractComponent

getBlock

public abstract Block getBlock()


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.