org.apache.wicket.markup.html.internal
Class Enclosure

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.html.WebMarkupContainer
              extended by org.apache.wicket.markup.html.internal.Enclosure
All Implemented Interfaces:
Serializable, IClusterable, IConverterLocator
Direct Known Subclasses:
InlineEnclosure

public class Enclosure
extends WebMarkupContainer

An Enclosure are automatically created by Wicket. Do not create it yourself. An Enclosure container is created if <wicket:enclosure> is found in the markup. It is meant to solve the following situation. Instead of

    <table wicket:id="label-container" class="notify"><tr><td><span wicket:id="label">[[notification]]</span></td></tr></table>
    WebMarkupContainer container=new WebMarkupContainer("label-container")
    {
       public boolean isVisible()
       {
           return hasNotification();
       }
    };
    add(container);
     container.add(new Label("label", notificationModel));
 
with Enclosure you are able to do the following:
    <wicket:enclosure>
      <table class="notify"><tr><td><span wicket:id="label">[[notification]]</span></td></tr></table>
    </wicket:enclosure>
    add(new Label("label", notificationModel))
    {
       public boolean isVisible()
       {
           return hasNotification();
       }
    }
 

Since:
1.3
Author:
Juergen Donnerstag
See Also:
EnclosureResolver, EnclosureHandler, 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
protected  CharSequence childId
          Id of the child component that will control visibility of the enclosure
 
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
Enclosure(String id, CharSequence childId)
          Construct.
 
Method Summary
protected  MarkupContainer getEnclosureParent()
          Get the real parent container
 boolean isTransparentResolver()
          Some MarkupContainers (e.g.
protected  void onComponentTagBody(MarkupStream markupStream, ComponentTag enclosureOpenTag)
          Handle the container's body.
protected  void onDetach()
          Called to allow a component to detach resources after use.
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getMarkupType, getWebPage, getWebRequest
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, autoAdd, contains, findMarkupStream, get, get, getAssociatedMarkupStream, getMarkupStream, hasAssociatedMarkup, internalAdd, iterator, iterator, newMarkupResourceStream, onAfterRenderChildren, onRender, 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, 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
 

Field Detail

childId

protected final CharSequence childId
Id of the child component that will control visibility of the enclosure

Constructor Detail

Enclosure

public Enclosure(String id,
                 CharSequence childId)
Construct.

Parameters:
id -
childId -
Method Detail

isTransparentResolver

public boolean isTransparentResolver()
Description copied from class: MarkupContainer
Some MarkupContainers (e.g. HtmlHeaderContainer) have to be transparent with respect to their child components. A transparent container gets its children from its parent container.

Overrides:
isTransparentResolver in class MarkupContainer
Returns:
false. By default a MarkupContainer is not transparent.
See Also:
MarkupContainer.isTransparentResolver()

getEnclosureParent

protected MarkupContainer getEnclosureParent()
Get the real parent container

Returns:
enclosure's parent markup container

onComponentTagBody

protected void onComponentTagBody(MarkupStream markupStream,
                                  ComponentTag enclosureOpenTag)
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
enclosureOpenTag - The open tag for the body
See Also:
MarkupContainer.onComponentTagBody(org.apache.wicket.markup.MarkupStream, org.apache.wicket.markup.ComponentTag)

onDetach

protected void onDetach()
Description copied from class: Component
Called to allow a component to detach resources after use. Overrides of this method MUST call the super implementation, the most logical place to do this is the last line of the override method.

Overrides:
onDetach in class Component
See Also:
Component.onDetach()


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