wicket.markup.html.form
Class ListMultipleChoice

java.lang.Object
  extended by wicket.Component
      extended by wicket.MarkupContainer
          extended by wicket.markup.html.WebMarkupContainer
              extended by wicket.markup.html.form.FormComponent
                  extended by wicket.markup.html.form.ListMultipleChoice
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
CheckBoxMultipleChoice

public class ListMultipleChoice
extends FormComponent

A multiple choice list component.

Author:
Jonathan Locke, Johan Compagner, Martijn Dashorst
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class wicket.markup.html.form.FormComponent
FormComponent.IVisitor
 
Nested classes/interfaces inherited from class wicket.Component
Component.ComponentModelChange, Component.EnabledChange, Component.VisibilityChange
 
Field Summary
 
Fields inherited from class wicket.markup.html.form.FormComponent
FLAG_CONVERT_EMPTY_INPUT_STRING_TO_NULL, VALUE_SEPARATOR
 
Fields inherited from class wicket.Component
ENABLE, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PATH_SEPARATOR, RENDER
 
Constructor Summary
ListMultipleChoice(java.lang.String id)
           
ListMultipleChoice(java.lang.String id, IModel choices)
           
ListMultipleChoice(java.lang.String id, IModel choices, IChoiceRenderer renderer)
           
ListMultipleChoice(java.lang.String id, IModel model, IModel choices)
           
ListMultipleChoice(java.lang.String id, IModel model, IModel choices, IChoiceRenderer renderer)
           
ListMultipleChoice(java.lang.String id, IModel object, java.util.List choices)
           
ListMultipleChoice(java.lang.String id, IModel object, java.util.List choices, IChoiceRenderer renderer)
           
ListMultipleChoice(java.lang.String id, java.util.List choices)
           
ListMultipleChoice(java.lang.String id, java.util.List choices, IChoiceRenderer renderer)
           
ListMultipleChoice(java.lang.String id, java.util.List choices, int maxRows)
          Creates a multiple choice list with a maximum number of visible rows.
 
Method Summary
protected  void appendOptionHtml(AppendingStringBuffer buffer, java.lang.Object choice, int index, java.lang.String selected)
          Generats and appends html for a single choice into the provided buffer
protected  java.lang.Object convertValue(java.lang.String[] ids)
          Subclasses should overwrite this if the conversion is not done through the type field and the IConverter.
protected  void detachModel()
          Detaches the model for this component if it is detachable.
 IChoiceRenderer getChoiceRenderer()
           
 java.util.List getChoices()
           
protected  java.lang.CharSequence getDefaultChoice(java.lang.Object selected)
           
protected static int getDefaultMaxRows()
          Gets the default maximum number of rows to display.
 java.lang.String getModelValue()
           
protected  boolean isSelected(java.lang.Object choice, int index, java.lang.String selected)
          Gets whether the given value represents the current selection.
protected  boolean localizeDisplayValues()
          Override this method if you want to localize the display values of the generated options.
protected  void onComponentTag(ComponentTag tag)
          Processes the component tag.
protected  void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag)
          Handle the container's body.
 void setChoiceRenderer(IChoiceRenderer renderer)
          Set the choice renderer to be used.
 void setChoices(IModel choices)
          Sets the list of choices
 void setChoices(java.util.List choices)
          Sets the list of choices.
protected static void setDefaultMaxRows(int defaultMaxRows)
          Sets the default maximum number of rows to display.
 ListMultipleChoice setMaxRows(int maxRows)
          Sets the number of visible rows in the listbox.
protected  boolean supportsPersistence()
           
 void updateModel()
          Updates this components' model from the request, it expect that the object is already converted through the convert() call.
 
Methods inherited from class wicket.markup.html.form.FormComponent
add, checkRequired, clearInput, convert, error, getConvertedInput, getForm, getInput, getInputAsArray, getInputName, getLabel, getRawInput, getType, getValidatorKeyPrefix, getValidators, getValue, hasRawInput, inputAsInt, inputAsInt, inputAsIntArray, inputAsStringArray, inputChanged, internalOnModelChanged, invalid, isInputNullable, isMultiPart, isPersistent, isRequired, isValid, isValidated, onDetach, onDisabled, onInvalid, onValid, processInput, setLabel, setModelValue, setModelValue, setPersistent, setRequired, setType, valid, validate, validateRequired, validateValidators
 
Methods inherited from class wicket.markup.html.WebMarkupContainer
getMarkupType, getWebPage
 
Methods inherited from class wicket.MarkupContainer
add, autoAdd, contains, findMarkupStream, get, getAssociatedMarkupStream, getMarkupStream, internalAdd, internalAttach, internalDetach, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, replace, setMarkupStream, setModel, size, toString, toString, visitChildren, visitChildren
 
Methods inherited from class wicket.Component
add, addStateChange, checkComponentTag, checkComponentTagAttribute, continueToOriginalDestination, debug, detachBehaviors, detachModels, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getApplication, getApplicationPages, getApplicationSettings, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMetaData, getModel, getModelComparator, getModelObject, getModelObjectAsString, getOutputMarkupId, getPage, getPageFactory, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getString, getString, getString, getStyle, getVariation, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnAttach, internalOnDetach, isActionAuthorized, isAncestorOf, isBehaviorAccepted, isEnableAllowed, isEnabled, isHeadRendered, isIgnoreAttributeModifier, isRenderAllowed, isVersioned, isVisible, isVisibleInHierarchy, modelChanged, modelChanging, newPage, newPage, onAfterRender, onAttach, onBeforeRender, onBeginRequest, onEndRequest, onModelChanged, onModelChanging, onRender, redirectToInterceptPage, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderedBehaviors, renderHead, replaceComponentTagBody, replaceWith, resetHeadRendered, sameRootModel, sameRootModel, setAuto, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMetaData, setModelObject, setOutputMarkupId, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisible, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ListMultipleChoice

public ListMultipleChoice(java.lang.String id)
See Also:
AbstractChoice.AbstractChoice(String)

ListMultipleChoice

public ListMultipleChoice(java.lang.String id,
                          java.util.List choices)
See Also:
AbstractChoice.AbstractChoice(String, List)

ListMultipleChoice

public ListMultipleChoice(java.lang.String id,
                          java.util.List choices,
                          int maxRows)
Creates a multiple choice list with a maximum number of visible rows.

Parameters:
id - component id
choices - list of choices
maxRows - the maximum number of visible rows.
See Also:
AbstractChoice.AbstractChoice(String, List)

ListMultipleChoice

public ListMultipleChoice(java.lang.String id,
                          java.util.List choices,
                          IChoiceRenderer renderer)
See Also:
AbstractChoice.AbstractChoice(String, List,IChoiceRenderer)

ListMultipleChoice

public ListMultipleChoice(java.lang.String id,
                          IModel object,
                          java.util.List choices)
See Also:
AbstractChoice.AbstractChoice(String, IModel, List)

ListMultipleChoice

public ListMultipleChoice(java.lang.String id,
                          IModel object,
                          java.util.List choices,
                          IChoiceRenderer renderer)
See Also:
AbstractChoice.AbstractChoice(String, IModel, List,IChoiceRenderer)

ListMultipleChoice

public ListMultipleChoice(java.lang.String id,
                          IModel choices)
See Also:
AbstractChoice.AbstractChoice(String, IModel)

ListMultipleChoice

public ListMultipleChoice(java.lang.String id,
                          IModel model,
                          IModel choices)
See Also:
AbstractChoice.AbstractChoice(String, IModel,IModel)

ListMultipleChoice

public ListMultipleChoice(java.lang.String id,
                          IModel choices,
                          IChoiceRenderer renderer)
See Also:
AbstractChoice.AbstractChoice(String, IModel,IChoiceRenderer)

ListMultipleChoice

public ListMultipleChoice(java.lang.String id,
                          IModel model,
                          IModel choices,
                          IChoiceRenderer renderer)
See Also:
AbstractChoice.AbstractChoice(String, IModel, IModel,IChoiceRenderer)
Method Detail

getDefaultMaxRows

protected static int getDefaultMaxRows()
Gets the default maximum number of rows to display.

Returns:
Returns the defaultMaxRows.

setDefaultMaxRows

protected static void setDefaultMaxRows(int defaultMaxRows)
Sets the default maximum number of rows to display.

Parameters:
defaultMaxRows - The defaultMaxRows to set.

setMaxRows

public final ListMultipleChoice setMaxRows(int maxRows)
Sets the number of visible rows in the listbox.

Parameters:
maxRows - the number of visible rows
Returns:
this

getModelValue

public final java.lang.String getModelValue()
Overrides:
getModelValue in class FormComponent
Returns:
Value to return when model value is needed
See Also:
FormComponent.getModelValue()

isSelected

protected final boolean isSelected(java.lang.Object choice,
                                   int index,
                                   java.lang.String selected)
Gets whether the given value represents the current selection.

Parameters:
choice - The object to check
index - 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:
AbstractChoice.isSelected(Object,int, String)

onComponentTag

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

Overrides:
onComponentTag in class FormComponent
Parameters:
tag - Tag to modify
See Also:
Component.onComponentTag(ComponentTag)

convertValue

protected java.lang.Object convertValue(java.lang.String[] ids)
                                 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
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:
FormComponent.convertValue(String[])

updateModel

public void updateModel()
Description copied from class: FormComponent
Updates this components' model from the request, it expect that the object is already converted through the convert() call. 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.

Overrides:
updateModel in class FormComponent
See Also:
FormComponent.updateModel()

getChoices

public java.util.List getChoices()
Returns:
The collection of object that this choice has

setChoices

public final void setChoices(IModel choices)
Sets the list of choices

Parameters:
choices - model representing the list of choices

setChoices

public final void setChoices(java.util.List choices)
Sets the list of choices.

Parameters:
choices - the list of choices

getChoiceRenderer

public final IChoiceRenderer getChoiceRenderer()
Returns:
The IChoiceRenderer used for rendering the data objects

setChoiceRenderer

public final void setChoiceRenderer(IChoiceRenderer renderer)
Set the choice renderer to be used.

Parameters:
renderer -

detachModel

protected void detachModel()
Description copied from class: Component
Detaches the model for this component if it is detachable.

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

getDefaultChoice

protected java.lang.CharSequence getDefaultChoice(java.lang.Object selected)
Parameters:
selected - The object that's currently selected
Returns:
Any default choice, such as "Choose One", depending on the subclass

onComponentTagBody

protected void onComponentTagBody(MarkupStream markupStream,
                                  ComponentTag openTag)
Handle the container's body.

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

appendOptionHtml

protected void appendOptionHtml(AppendingStringBuffer buffer,
                                java.lang.Object choice,
                                int index,
                                java.lang.String selected)
Generats and appends html for a single choice into the provided buffer

Parameters:
buffer - Appending string buffer that will have the generated html appended
choice - Choice object
index - The index of this option
selected - The currently selected string value

supportsPersistence

protected boolean supportsPersistence()
Overrides:
supportsPersistence in class FormComponent
Returns:
True if this type of FormComponent can be persisted.
See Also:
FormComponent.supportsPersistence()

localizeDisplayValues

protected boolean localizeDisplayValues()
Override this method if you want to localize the display values of the generated options. By default false is returned so that the display values of options are not tested if they have a i18n key.

Returns:
true If you want to localize the display values, default == false


Copyright © 2004-2007 Wicket developers. All Rights Reserved.