org.apache.wicket.markup.html.panel
Class Fragment

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.panel.Fragment
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable<Component>, IEventSink, IEventSource, IClusterable, IConverterLocator, IHeaderContributor, IRequestableComponent, IHierarchical<Component>

public class Fragment
extends WebMarkupContainer

Usually you either have a markup file or a xml tag with wicket:id="myComponent" to associate markup with a component. However in some use cases, especially when working with small panels it is a bit awkward to maintain tiny pieces of markup in plenty of panel markup files. Use cases are for example list views where list items are different depending on a state.

Fragments provide a means to maintain the panels tiny piece of markup. Since it can be anywhere, the component whose markup contains the fragment's markup must be provided (markup provider).

  <span wicket:id="myPanel">Example input (will be removed)</span>
 
  <wicket:fragment wicket:id="frag1">panel 1</wicket:fragment>
  <wicket:fragment wicket:id="frag2">panel 2</wicket:fragment>
 
  add(new Fragment("myPanel1", "frag1", myPage);
 

Author:
Juergen Donnerstag
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
Fragment(java.lang.String id, java.lang.String markupId, MarkupContainer markupProvider)
          Constructor.
Fragment(java.lang.String id, java.lang.String markupId, MarkupContainer markupProvider, IModel<?> model)
          Constructor.
 
Method Summary
protected  IMarkupFragment chooseMarkup(MarkupContainer provider)
          Get the markup stream which shall be used to search for the fragment
 java.lang.String getAssociatedMarkupId()
           
protected  IMarkupSourcingStrategy newMarkupSourcingStrategy()
          If Component.getMarkupSourcingStrategy() returns null, this method will be called.
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebPage, getWebRequest
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, hasAssociatedMarkup, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onMarkupAttached, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onDetach, onEvent, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, 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

Fragment

public Fragment(java.lang.String id,
                java.lang.String markupId,
                MarkupContainer markupProvider)
Constructor.

Parameters:
id - The component id
markupId - The associated id of the associated markup fragment
markupProvider - The component whose markup contains the fragment's markup
See Also:
Component.Component(String)

Fragment

public Fragment(java.lang.String id,
                java.lang.String markupId,
                MarkupContainer markupProvider,
                IModel<?> model)
Constructor.

Parameters:
id - The component id
markupId - The associated id of the associated markup fragment
markupProvider - The component whose markup contains the fragment's markup
model - The model for this fragment
See Also:
Component.Component(String)
Method Detail

newMarkupSourcingStrategy

protected IMarkupSourcingStrategy newMarkupSourcingStrategy()
If Component.getMarkupSourcingStrategy() returns null, this method will be called. By default it returns null, which means that a default markup strategy will be attached to the component.

Please note that markup source strategies are not persisted. Instead they get re-created by calling this method again. That's ok since markup sourcing strategies usually do not maintain a state.

Overrides:
newMarkupSourcingStrategy in class Component
Returns:
Markup sourcing strategy

chooseMarkup

protected IMarkupFragment chooseMarkup(MarkupContainer provider)
Get the markup stream which shall be used to search for the fragment

Parameters:
provider -
Returns:
The markup stream to be used to find the fragment markup

getAssociatedMarkupId

public final java.lang.String getAssociatedMarkupId()
Returns:
the markup id associated to this Fragment


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