Module org.apache.wicket.core
Class ListMultipleChoice<T>
java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
org.apache.wicket.markup.html.form.FormComponent<T>
org.apache.wicket.markup.html.form.AbstractChoice<Collection<T>,T>
org.apache.wicket.markup.html.form.ListMultipleChoice<T>
- Type Parameters:
T
- The model object type
- All Implemented Interfaces:
Serializable
,Iterable<Component>
,IEventSink
,IEventSource
,IFeedbackContributor
,IConverterLocator
,IGenericComponent<Collection<T>,
,FormComponent<Collection<T>>> IMetadataContext<Serializable,
,Component> IFormModelUpdateListener
,IFormVisitorParticipant
,ILabelProvider<String>
,IHeaderContributor
,IRequestableComponent
,IHierarchical<Component>
,IClusterable
- Direct Known Subclasses:
CheckBoxMultipleChoice
A multiple choice list component.
- Author:
- Jonathan Locke, Johan Compagner, Martijn Dashorst
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.wicket.markup.html.form.AbstractChoice
AbstractChoice.LabelPosition
-
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_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
-
Constructor Summary
ConstructorDescriptionListMultipleChoice
(String id, List<? extends T> choices) ListMultipleChoice
(String id, List<? extends T> choices, int maxRows) Creates a multiple choice list with a maximum number of visible rows.ListMultipleChoice
(String id, List<? extends T> choices, IChoiceRenderer<? super T> renderer) ListMultipleChoice
(String id, IModel<? extends Collection<T>> object, List<? extends T> choices) ListMultipleChoice
(String id, IModel<? extends Collection<T>> object, List<? extends T> choices, IChoiceRenderer<? super T> renderer) ListMultipleChoice
(String id, IModel<? extends Collection<T>> model, IModel<? extends List<? extends T>> choices) ListMultipleChoice
(String id, IModel<? extends Collection<T>> model, IModel<? extends List<? extends T>> choices, IChoiceRenderer<? super T> renderer) ListMultipleChoice
(String id, IModel<? extends List<? extends T>> choices) ListMultipleChoice
(String id, IModel<? extends List<? extends T>> choices, IChoiceRenderer<? super T> renderer) -
Method Summary
Modifier and TypeMethodDescriptionconvertChoiceIdsToChoices
(String[] ids) Converts submitted choice ids to choice objects.protected Collection<T>
convertValue
(String[] ids) Subclasses should overwrite this if the conversion is not done through the type field and theIConverter
.final String
boolean
If true, choices that were selected in the model but disabled in rendering will be retained in the model after a form submit.protected final boolean
isSelected
(T choice, int index, String selected) Gets whether the given value represents the current selection.protected void
Processes the component tag.final ListMultipleChoice<T>
setMaxRows
(int maxRows) Sets the number of visible rows in the listbox.setRetainDisabledSelected
(boolean retain) void
SeeFormComponent.updateCollectionModel(FormComponent)
for details on how the model is updated.Methods inherited from class org.apache.wicket.markup.html.form.AbstractChoice
appendOptionHtml, detachModel, escapeOptionHtml, getChoiceRenderer, getChoices, getChoicesModel, getDefaultChoice, isDisabled, localizeDisplayValues, onComponentTagBody, onDetach, setChoiceRenderer, setChoices, setChoices, setOptionAttributes, setType
Methods inherited from class org.apache.wicket.markup.html.form.FormComponent
add, add, checkRequired, clearInput, convertInput, error, getConvertedInput, getDefaultLabel, getDefaultLabel, getForm, getInput, getInputAsArray, getInputName, getParameterValues, getRawInput, getType, getValidatorKeyPrefix, getValidators, getValue, hasRawInput, inputAsInt, inputAsInt, inputAsIntArray, inputChanged, internalOnModelChanged, invalid, isInputNullable, isMultiPart, isRequired, isValid, newValidatable, newValidationError, onBeforeRender, onDisabled, onInvalid, onValid, processChildren, processInput, remove, reportRequiredError, setConvertedInput, setLabel, setModelValue, setRequired, shouldTrimInput, trim, updateAutoLabels, updateAutoLabels, updateCollectionModel, valid, validate, validateRequired, validateValidators, visitComponentsPostOrder, visitFormComponentsPostOrder
Methods inherited from class org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
getLabel
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession
Methods inherited from class org.apache.wicket.MarkupContainer
add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, getRegionMarkup, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onInitialize, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren
Methods inherited from class org.apache.wicket.Component
add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, 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, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.wicket.IGenericComponent
getDefaultModel, getDefaultModelObject, getModel, getModelObject, setDefaultModel, setDefaultModelObject, setModel, setModelObject
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
ListMultipleChoice
- See Also:
-
ListMultipleChoice
- See Also:
-
ListMultipleChoice
Creates a multiple choice list with a maximum number of visible rows.- Parameters:
id
- component idchoices
- list of choicesmaxRows
- the maximum number of visible rows.- See Also:
-
ListMultipleChoice
public ListMultipleChoice(String id, List<? extends T> choices, IChoiceRenderer<? super T> renderer) -
ListMultipleChoice
public ListMultipleChoice(String id, IModel<? extends Collection<T>> object, List<? extends T> choices) - Parameters:
id
-object
-choices
-- See Also:
-
ListMultipleChoice
public ListMultipleChoice(String id, IModel<? extends Collection<T>> object, List<? extends T> choices, IChoiceRenderer<? super T> renderer) - Parameters:
id
-object
-choices
-renderer
-- See Also:
-
ListMultipleChoice
- See Also:
-
ListMultipleChoice
public ListMultipleChoice(String id, IModel<? extends Collection<T>> model, IModel<? extends List<? extends T>> choices) - Parameters:
id
-model
-choices
-- See Also:
-
ListMultipleChoice
public ListMultipleChoice(String id, IModel<? extends List<? extends T>> choices, IChoiceRenderer<? super T> renderer) -
ListMultipleChoice
public ListMultipleChoice(String id, IModel<? extends Collection<T>> model, IModel<? extends List<? extends T>> choices, IChoiceRenderer<? super T> renderer) - Parameters:
id
-model
-choices
-renderer
-- See Also:
-
-
Method Details
-
setMaxRows
Sets the number of visible rows in the listbox.- Parameters:
maxRows
- the number of visible rows- Returns:
- this
-
getModelValue
- Overrides:
getModelValue
in classFormComponent<Collection<T>>
- Returns:
- Value to return when model value is needed
- See Also:
-
isSelected
Description copied from class:AbstractChoice
Gets whether the given value represents the current selection.- Specified by:
isSelected
in classAbstractChoice<Collection<T>,
T> - Parameters:
choice
- The object to checkindex
- The index in the choices collection this object is in.selected
- The currently selected string value- Returns:
- Whether the given value represents the current selection
- See Also:
-
onComponentTag
Description copied from class:FormComponent
Processes the component tag.- Overrides:
onComponentTag
in classFormComponent<Collection<T>>
- Parameters:
tag
- Tag to modify- See Also:
-
convertValue
Description copied from class:FormComponent
Subclasses should overwrite this if the conversion is not done through the type field and theIConverter
. WARNING: this method may be removed in future versions. If conversion fails then a ConversionException should be thrown- Overrides:
convertValue
in classFormComponent<Collection<T>>
- Parameters:
ids
- 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:
-
convertChoiceIdsToChoices
Converts submitted choice ids to choice objects.- Parameters:
ids
- choice ids. this array is nonnull and always contains at least one id.- Returns:
- list of choices.
-
updateModel
SeeFormComponent.updateCollectionModel(FormComponent)
for details on how the model is updated.- Specified by:
updateModel
in interfaceIFormModelUpdateListener
- Overrides:
updateModel
in classFormComponent<Collection<T>>
-
isRetainDisabledSelected
If true, choices that were selected in the model but disabled in rendering will be retained in the model after a form submit. Example: Choices are [1, 2, 3, 4]. Model collection is [2, 4]. In rendering, choices 2 and 3 are disabled (AbstractChoice.isDisabled(Object, int, String)
). That means that four checkboxes are rendered, checkboxes 2 and 4 are checked, but 2 and 3 are not clickable. User checks 1 and unchecks 4. If this flag is off, the model will be updated to [1]. This is because the browser does not re-submit a disabled checked checkbox: it only submits [1]. Therefore Wicket will only see the [1] and update the model accordingly. If you set this flag to true, Wicket will check the model before updating to find choices that were selected but disabled. These choices will then be retained, leading to a new model value of [1, 2] as (probably) expected by the user. Note that this will lead to additional calls toAbstractChoice.isDisabled(Object, int, String)
.- Returns:
- flag
-
setRetainDisabledSelected
- Parameters:
retain
- flag- Returns:
- this
- See Also:
-