org.apache.wicket.markup.transformer
Class AbstractOutputTransformerContainer

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.transformer.AbstractOutputTransformerContainer
All Implemented Interfaces:
Serializable, IClusterable, IConverterLocator, ITransformer
Direct Known Subclasses:
NoopOutputTransformerContainer, XsltOutputTransformerContainer

public abstract class AbstractOutputTransformerContainer
extends MarkupContainer
implements ITransformer

This abstract container provides the means to post-process the markup generated by its child components (excluding the containers tag)

Please see IBehavior for an alternative based on IBehavior

Author:
Juergen Donnerstag
See Also:
AbstractTransformerBehavior, ITransformer, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.Component
Component.ComponentModelChange, Component.EnabledChange, Component.IVisitor<T extends Component>, Component.VisibilityChange
 
Field Summary
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_CONFIGURED, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
AbstractOutputTransformerContainer(String id)
          Construct
AbstractOutputTransformerContainer(String id, IModel<?> model)
          Construct
 
Method Summary
protected  Response newResponse()
          Create a new response object which is used to store the markup generated by the child objects.
protected  void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag)
          Handle the container's body.
protected  void onRender(MarkupStream markupStream)
          Renders this component.
 MarkupContainer setTransformBodyOnly(boolean value)
          You can choose whether the body of the tag excluding the tag shall be transformed or including the tag.
abstract  CharSequence transform(Component component, CharSequence output)
          Will be invoked after all child components have been processed to allow for transforming the markup generated.
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, autoAdd, contains, findMarkupStream, get, get, getAssociatedMarkupStream, getMarkupStream, getMarkupType, hasAssociatedMarkup, internalAdd, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onAfterRenderChildren, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, renderNext, replace, setDefaultModel, setMarkupStream, size, swap, toString, toString, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, callOnBeforeRenderIfNotVisible, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachBehaviors, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviors, getBehaviors, getBehaviorsRawList, getClassRelativePath, getComponentBorder, getConverter, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdImpl, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalAttach, internalDetach, internalOnAttach, internalOnDetach, internalOnModelChanged, isActionAuthorized, isAncestorOf, isAttached, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markAttached, markRendering, modelChanged, modelChanging, onAfterRender, onAttach, onBeforeRender, onBeginRequest, onComponentTag, onConfigure, onDetach, onEndRequest, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, prepareForRender, redirectToInterceptPage, remove, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, setAuto, setComponentBorder, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, urlFor, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractOutputTransformerContainer

public AbstractOutputTransformerContainer(String id)
Construct

See Also:
Component.Component(String)

AbstractOutputTransformerContainer

public AbstractOutputTransformerContainer(String id,
                                          IModel<?> model)
Construct

See Also:
Component.Component(String, IModel)
Method Detail

setTransformBodyOnly

public MarkupContainer setTransformBodyOnly(boolean value)
You can choose whether the body of the tag excluding the tag shall be transformed or including the tag.

Parameters:
value - If true, only the body is applied to transformation.
Returns:
this

newResponse

protected Response newResponse()
Create a new response object which is used to store the markup generated by the child objects.

Returns:
Response object. Must not be null

transform

public abstract CharSequence transform(Component component,
                                       CharSequence output)
                                throws Exception
Description copied from interface: ITransformer
Will be invoked after all child components have been processed to allow for transforming the markup generated.

Specified by:
transform in interface ITransformer
Parameters:
component - The associated Wicket component
output - The markup generated by the child components
Returns:
The output which will be appended to the original response
Throws:
Exception
See Also:
ITransformer.transform(org.apache.wicket.Component, CharSequence)

onComponentTagBody

protected final void onComponentTagBody(MarkupStream markupStream,
                                        ComponentTag openTag)
Description copied from class: MarkupContainer
Handle the container's body. If your override of this method does not advance the markup stream to the close tag for the openTag, a runtime exception will be thrown by the framework.

Overrides:
onComponentTagBody in class MarkupContainer
Parameters:
markupStream - The markup stream
openTag - The open tag for the body
See Also:
Component.onComponentTagBody(org.apache.wicket.markup.MarkupStream, org.apache.wicket.markup.ComponentTag)

onRender

protected final void onRender(MarkupStream markupStream)
Description copied from class: MarkupContainer
Renders this component. This implementation just calls renderComponent.

Overrides:
onRender in class MarkupContainer
See Also:
Component.onRender(MarkupStream)


Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.