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

public class RadioChoice<T>
extends AbstractSingleSelectChoice<T>
implements IOnChangeListener

A choice subclass that shows choices in radio style.

Java:

 List SITES = Arrays.asList(new String[] { "The Server Side", "Java Lobby", "Java.Net" });
 // Add a radio choice component that uses Input's 'site' property to designate the
 // current selection, and that uses the SITES list for the available options.
 form.add(new RadioChoice("site", SITES));
 
HTML:
    <span valign="top" wicket:id="site">
        <input type="radio">site 1</input>
        <input type="radio">site 2</input>
    </span>
 

You can can extend this class and override method wantOnSelectionChangedNotifications() to force server roundtrips on each selection change.

Author:
Jonathan Locke, Igor Vaynberg (ivaynberg)
See Also:
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.AbstractSingleSelectChoice
NO_SELECTION_VALUE
 
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
RadioChoice(String id)
          Constructor
RadioChoice(String id, IModel<? extends List<? extends T>> choices)
          Constructor
RadioChoice(String id, IModel<? extends List<? extends T>> choices, IChoiceRenderer<? super T> renderer)
          Constructor
RadioChoice(String id, IModel<T> model, IModel<? extends List<? extends T>> choices)
          Constructor
RadioChoice(String id, IModel<T> model, IModel<? extends List<? extends T>> choices, IChoiceRenderer<? super T> renderer)
          Constructor
RadioChoice(String id, IModel<T> model, List<? extends T> choices)
          Constructor
RadioChoice(String id, IModel<T> model, List<? extends T> choices, IChoiceRenderer<? super T> renderer)
          Constructor
RadioChoice(String id, List<? extends T> choices)
          Constructor
RadioChoice(String id, List<? extends T> choices, IChoiceRenderer<? super T> renderer)
          Constructor
 
Method Summary
protected  IValueMap getAdditionalAttributes(int index, T choice)
          You may subclass this method to provide additional attributes to the <input ..> tag.
 String getPrefix()
           
protected  boolean getStatelessHint()
          Returns whether the component can be stateless.
 String getSuffix()
           
protected  void onComponentTag(ComponentTag tag)
          Processes the component tag.
protected  void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag)
          Handle the container's body.
 void onSelectionChanged()
          Called when a new option is selected.
protected  void onSelectionChanged(Object newSelection)
          Template method that can be overridden by clients that implement IOnChangeListener to be notified by onChange events of a select element.
 RadioChoice<T> setPrefix(String prefix)
           
 RadioChoice<T> setSuffix(String suffix)
           
protected  boolean wantOnSelectionChangedNotifications()
          Whether this component's onSelectionChanged event handler should called using javascript if the selection changes.
 
Methods inherited from class org.apache.wicket.markup.html.form.AbstractSingleSelectChoice
convertChoiceIdToChoice, convertValue, getDefaultChoice, getModelValue, getNoSelectionValue, getNullKey, getNullValidKey, isNullValid, isSelected, setNullValid
 
Methods inherited from class org.apache.wicket.markup.html.form.AbstractChoice
appendOptionHtml, detachModel, escapeOptionHtml, getChoiceRenderer, getChoices, isDisabled, localizeDisplayValues, setChoiceRenderer, setChoices, setChoices, supportsPersistence
 
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, 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, updateModel, 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, 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, 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

RadioChoice

public RadioChoice(String id)
Constructor

Parameters:
id - See Component
See Also:
Component.Component(String), AbstractChoice.AbstractChoice(String)

RadioChoice

public RadioChoice(String id,
                   List<? extends T> choices)
Constructor

Parameters:
id - See Component
choices - The list of choices in the radio choice
See Also:
Component.Component(String), AbstractChoice.AbstractChoice(String, List)

RadioChoice

public RadioChoice(String id,
                   List<? extends T> choices,
                   IChoiceRenderer<? super T> renderer)
Constructor

Parameters:
id - See Component
renderer - The rendering engine
choices - The list of choices in the radio choice
See Also:
Component.Component(String), AbstractChoice.AbstractChoice(String, List,IChoiceRenderer)

RadioChoice

public RadioChoice(String id,
                   IModel<T> model,
                   List<? extends T> choices)
Constructor

Parameters:
id - See Component
model - See Component
choices - The list of choices in the radio choice
See Also:
Component.Component(String, IModel), AbstractChoice.AbstractChoice(String, IModel, List)

RadioChoice

public RadioChoice(String id,
                   IModel<T> model,
                   List<? extends T> choices,
                   IChoiceRenderer<? super T> renderer)
Constructor

Parameters:
id - See Component
model - See Component
choices - The list of choices in the radio choice
renderer - The rendering engine
See Also:
Component.Component(String, IModel), AbstractChoice.AbstractChoice(String, IModel, List,IChoiceRenderer)

RadioChoice

public RadioChoice(String id,
                   IModel<? extends List<? extends T>> choices)
Constructor

Parameters:
id - See Component
choices - The list of choices in the radio choice
See Also:
Component.Component(String), AbstractChoice.AbstractChoice(String, IModel)

RadioChoice

public RadioChoice(String id,
                   IModel<T> model,
                   IModel<? extends List<? extends T>> choices)
Constructor

Parameters:
id - See Component
model - The model that is updated with changes in this component. See Component
choices - The list of choices in the radio choice
See Also:
AbstractChoice.AbstractChoice(String, IModel,IModel), Component.Component(String, IModel)

RadioChoice

public RadioChoice(String id,
                   IModel<? extends List<? extends T>> choices,
                   IChoiceRenderer<? super T> renderer)
Constructor

Parameters:
id - See Component
choices - The list of choices in the radio choice
renderer - The rendering engine
See Also:
AbstractChoice.AbstractChoice(String, IModel,IChoiceRenderer), Component.Component(String)

RadioChoice

public RadioChoice(String id,
                   IModel<T> model,
                   IModel<? extends List<? extends T>> choices,
                   IChoiceRenderer<? super T> renderer)
Constructor

Parameters:
id - See Component
model - The model that is updated with changes in this component. See Component
choices - The list of choices in the radio choice
renderer - The rendering engine
See Also:
Component.Component(String, IModel), AbstractChoice.AbstractChoice(String, IModel, IModel,IChoiceRenderer)
Method Detail

onComponentTag

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

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

onSelectionChanged

public void onSelectionChanged()
Description copied from interface: IOnChangeListener
Called when a new option is selected.

Specified by:
onSelectionChanged in interface IOnChangeListener
See Also:
IOnChangeListener.onSelectionChanged()

onSelectionChanged

protected void onSelectionChanged(Object 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 option is selected of a dropdown list 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 newly selected object of the backing model NOTE this is the same as you would get by calling getModelObject() if the new selection were current

wantOnSelectionChangedNotifications

protected boolean wantOnSelectionChangedNotifications()
Whether this component's onSelectionChanged event handler should called using javascript if the selection changes. If true, a roundtrip will be generated with each selection change, resulting in the model being updated (of just this component) and onSelectionChanged being called. This method returns false by default.

Returns:
True if this component's onSelectionChanged event handler should called using javascript if the selection changes

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()

getPrefix

public String getPrefix()
Returns:
Prefix to use before choice

setPrefix

public final RadioChoice<T> setPrefix(String prefix)
Parameters:
prefix - Prefix to use before choice
Returns:
this

getSuffix

public String getSuffix()
Returns:
Separator to use between radio options

setSuffix

public final RadioChoice<T> setSuffix(String suffix)
Parameters:
suffix - Separator to use between radio options
Returns:
this

onComponentTagBody

protected final void onComponentTagBody(MarkupStream markupStream,
                                        ComponentTag openTag)
Description copied from class: AbstractChoice
Handle the container's body.

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

getAdditionalAttributes

protected IValueMap getAdditionalAttributes(int index,
                                            T choice)
You may subclass this method to provide additional attributes to the <input ..> tag.

Parameters:
index -
choice -
Returns:
tag attribute name/value pairs.


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