org.apache.wicket.markup.html.form
Class CheckGroup<T>

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.form.LabeledWebMarkupContainer
                  extended by org.apache.wicket.markup.html.form.FormComponent<Collection<T>>
                      extended by org.apache.wicket.markup.html.form.CheckGroup<T>
Type Parameters:
T - The model object type
All Implemented Interfaces:
Serializable, IClusterable, IConverterLocator, IRequestListener, IFormModelUpdateListener, IFormVisitorParticipant, ILabelProvider<String>, IOnChangeListener

public class CheckGroup<T>
extends FormComponent<Collection<T>>
implements IOnChangeListener

Component used to connect instances of Check components into a group. Instances of Check have to be in the component hierarchy somewhere below the group component. The model of the CheckGroup component has to be an instance of java.util.Collection. The model collection of the group is filled with model objects of all selected Check components. ie ... choice 1 ... choice 2 ...

Author:
Igor Vaynberg
See Also:
Check,

Note: This component does not support cookie persistence, Serialized Form


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.markup.html.form.FormComponent
FormComponent.AbstractVisitor, FormComponent.IVisitor
 
Nested classes/interfaces inherited from class org.apache.wicket.Component
Component.ComponentModelChange, Component.EnabledChange, Component.VisibilityChange
 
Field Summary
 
Fields inherited from class org.apache.wicket.markup.html.form.FormComponent
FLAG_CONVERT_EMPTY_INPUT_STRING_TO_NULL, VALUE_SEPARATOR
 
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
 
Fields inherited from interface org.apache.wicket.markup.html.form.IOnChangeListener
INTERFACE
 
Constructor Summary
CheckGroup(String id)
          Constructor that will create a default model collection
CheckGroup(String id, Collection<T> collection)
          Constructor that wraps the provided collection with the org.apache.wicket.model.Model object
CheckGroup(String id, IModel<? extends Collection<T>> model)
           
 
Method Summary
protected  Collection<T> convertValue(String[] values)
          Subclasses should overwrite this if the conversion is not done through the type field and the IConverter.
protected  boolean getStatelessHint()
          Returns whether the component can be stateless.
protected  void onComponentTag(ComponentTag tag)
          Processes the component tag.
 void onSelectionChanged()
          Called when a selection changes.
protected  void onSelectionChanged(Collection<? extends T> newSelection)
          Template method that can be overridden by clients that implement IOnChangeListener to be notified by onChange events of a select element.
protected  boolean supportsPersistence()
          Check group does not support persistence through cookies
 void updateModel()
          Updates this components model from the request, it expects that the object is already converted through the convertInput() call that is called by the validate() method when a form is being processed.
protected  boolean wantOnSelectionChangedNotifications()
          This method should be overridden to return true if it is desirable to have on-selection-changed notification.
 
Methods inherited from class org.apache.wicket.markup.html.form.FormComponent
add, add, checkRequired, clearInput, convertInput, error, getConvertedInput, getDefaultLabel, getDefaultLabel, getForm, getInput, getInputAsArray, getInputName, getModel, getModelObject, getModelValue, getRawInput, getType, getValidatorKeyPrefix, getValidators, getValue, hasRawInput, inputAsInt, inputAsInt, inputAsIntArray, inputChanged, internalOnModelChanged, invalid, isInputNullable, isMultiPart, isPersistent, isRequired, isValid, newValidatable, onDetach, onDisabled, onInvalid, onValid, processChildren, processInput, setConvertedInput, setLabel, setModel, setModelObject, setModelValue, setModelValue, setPersistent, setRequired, setType, shouldTrimInput, trim, valid, validate, validateRequired, validateValidators, visitComponentsPostOrder, visitFormComponentsPostOrder
 
Methods inherited from class org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
getLabel, setLabelInternal
 
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, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onAfterRenderChildren, onComponentTagBody, 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, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalAttach, internalDetach, internalOnAttach, internalOnDetach, isActionAuthorized, isAncestorOf, isAttached, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markAttached, markRendering, modelChanged, modelChanging, onAfterRender, onAttach, onBeforeRender, onBeginRequest, 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
 

Constructor Detail

CheckGroup

public CheckGroup(String id)
Constructor that will create a default model collection

Parameters:
id - component id

CheckGroup

public CheckGroup(String id,
                  Collection<T> collection)
Constructor that wraps the provided collection with the org.apache.wicket.model.Model object

Parameters:
id - component id
collection - collection to be used as the model

CheckGroup

public CheckGroup(String id,
                  IModel<? extends Collection<T>> model)
Parameters:
id -
model -
See Also:
WebMarkupContainer.WebMarkupContainer(String, IModel)
Method Detail

convertValue

protected Collection<T> convertValue(String[] values)
                              throws ConversionException
Description copied from class: FormComponent
Subclasses should overwrite this if the conversion is not done through the type field and the IConverter. WARNING: this method may be removed in future versions. If conversion fails then a ConversionException should be thrown

Overrides:
convertValue in class FormComponent<Collection<T>>
Parameters:
values - The value can be the getInput() or through a cookie
Returns:
The converted value. default returns just the given value
Throws:
ConversionException - If input can't be converted
See Also:
FormComponent.convertValue(String[])

updateModel

public void updateModel()
Description copied from class: FormComponent
Updates this components model from the request, it expects that the object is already converted through the convertInput() call that is called by the validate() method when a form is being processed. By default it just does this:
 setModelObject(getConvertedInput());
 
DO NOT CALL THIS METHOD DIRECTLY UNLESS YOU ARE SURE WHAT YOU ARE DOING. USUALLY UPDATING YOUR MODEL IS HANDLED BY THE FORM, NOT DIRECTLY BY YOU.

Specified by:
updateModel in interface IFormModelUpdateListener
Overrides:
updateModel in class FormComponent<Collection<T>>
See Also:
FormComponent.updateModel()

supportsPersistence

protected final boolean supportsPersistence()
Check group does not support persistence through cookies

Overrides:
supportsPersistence in class FormComponent<Collection<T>>
Returns:
True if this type of FormComponent can be persisted.
See Also:
FormComponent.supportsPersistence()

onComponentTag

protected void onComponentTag(ComponentTag tag)
Description copied from class: FormComponent
Processes the component tag.

Overrides:
onComponentTag in class FormComponent<Collection<T>>
Parameters:
tag - Tag to modify
See Also:
FormComponent.onComponentTag(ComponentTag)

onSelectionChanged

public final void onSelectionChanged()
Called when a selection changes.

Specified by:
onSelectionChanged in interface IOnChangeListener

onSelectionChanged

protected void onSelectionChanged(Collection<? extends T> newSelection)
Template method that can be overridden by clients that implement IOnChangeListener to be notified by onChange events of a select element. This method does nothing by default.

Called when a Check is clicked in a CheckGroup that wants to be notified of this event. This method is to be implemented by clients that want to be notified of selection events.

Parameters:
newSelection - The new selection of the CheckGroup. NOTE this is the same as you would get by calling getModelObject() if the new selection were current

wantOnSelectionChangedNotifications

protected boolean wantOnSelectionChangedNotifications()
This method should be overridden to return true if it is desirable to have on-selection-changed notification.

Returns:
true if component should receive on-selection-changed notifications, false otherwise

getStatelessHint

protected boolean getStatelessHint()
Description copied from class: Component
Returns whether the component can be stateless. Also the component behaviors must be stateless, otherwise the component will be treat as stateful. In order for page to be stateless (and not to be stored in session), all components (and component behaviors) must be stateless.

Overrides:
getStatelessHint in class Component
Returns:
whether the component can be stateless
See Also:
Component.getStatelessHint()


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