org.apache.tapestry.components
Class RenderBlock
java.lang.Object
org.apache.tapestry.spec.BaseLocatable
org.apache.tapestry.AbstractComponent
org.apache.tapestry.components.RenderBlock
- All Implemented Interfaces:
- IComponent, ILocatable, ILocationHolder, IRender
public abstract class RenderBlock
- extends AbstractComponent
Renders the text and components wrapped by a Block
component.
[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 foriegn Blocks,
PageRenderListener
methods
(for components and objects of the foriegn page)
via RenderBlock will not be executed. This specifically
affects the methods of the PageRenderListener
interface.
Before rendering its Block
, RenderBlock will set itself as the
Block's inserter, and will reset the inserter after the Block
is
rendered. This gives the components contained in the Block
access
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.
- Version:
- $Id: RenderBlock.java 243791 2004-02-19 17:38:13Z hlship $
- Author:
- Howard Lewis Ship
Methods inherited from class org.apache.tapestry.AbstractComponent |
addAsset, addBody, addComponent, cleanupAfterRender, finishLoad, finishLoad, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, format, format, format, format, formatString, formatString, formatString, formatString, generateAttributes, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getBody, getBodyCount, getChangeObserver, getComponent, getComponents, getContainer, getExtendedId, getId, getIdPath, getListeners, getMessage, getMessages, getNamespace, getPage, getProperty, getSpecification, getString, pageEndRender, prepareForRender, render, renderBody, renderInformalParameters, setBinding, setContainer, setId, setNamespace, setPage, setProperty, setSpecification, toString |
RenderBlock
public RenderBlock()
renderComponent
protected void renderComponent(IMarkupWriter writer,
IRequestCycle cycle)
- If block is not null,
then the block's inserter is set (to this),
IComponent.renderBody(IMarkupWriter, IRequestCycle)
is invoked on it, and the Block's inserter is set back to its previous state.
- Specified by:
renderComponent
in class AbstractComponent
getBlock
public abstract Block getBlock()