org.riotfamily.forms.element.select
Class AbstractMultiSelectElement

java.lang.Object
  extended by org.riotfamily.forms.AbstractElement
      extended by org.riotfamily.forms.AbstractEditorBase
          extended by org.riotfamily.forms.element.select.AbstractSelectElement
              extended by org.riotfamily.forms.element.select.AbstractMultiSelectElement
All Implemented Interfaces:
BackingObjectAware, Editor, Element, SelectElement, JavaScriptEventAdapter
Direct Known Subclasses:
CheckboxGroup, MultiSelectBox

public abstract class AbstractMultiSelectElement
extends AbstractSelectElement

Abstract superclass for elements that let the user choose from a set of options like selectboxes or radio button groups.


Field Summary
 
Fields inherited from class org.riotfamily.forms.AbstractElement
log
 
Constructor Summary
AbstractMultiSelectElement()
           
 
Method Summary
protected  void afterBindingSet()
           
 Class<? extends Collection> getCollectionClass()
           
protected  Collection<Object> getSelectedValues()
           
 Object getValue()
          Returns the value.
 void handleJavaScriptEvent(JavaScriptEvent event)
           
protected  boolean hasSelection()
           
 boolean isSelected(OptionItem option)
           
 void processRequest(FormRequest request)
          Subclasses may override this method to change their internal state according the given request.
 void setCollectionClass(Class<? extends Collection<?>> collectionClass)
          Sets the class to use if a new collection instance needs to be created.
 void setMaxSelection(Integer maxSelection)
           
 void setValue(Object value)
          Sets the (initial) value, typically retrieved from a backing object.
protected  void updateSelection(Collection<?> optionValues)
           
 void validate()
           
 
Methods inherited from class org.riotfamily.forms.element.select.AbstractSelectElement
createOptionItems, getEventTriggerId, getEventTypes, getOptionIndex, getOptionItems, getOptionLabel, getOptions, getOptionStyleClass, getOptionValue, hasOptionValues, isRequired, isVisible, renderOption, reset, setAppendLabel, setBackingObject, setHideIfEmpty, setLabelMessageKey, setLabelProperty, setOptionRenderer, setOptions, setStyleClassProperty, setValueProperty
 
Methods inherited from class org.riotfamily.forms.AbstractEditorBase
addChangeListener, fireChangeEvent, getEditorBinding, getFieldName, getHint, getLabel, getParamName, hasListeners, setEditorBinding, setFieldName, setParamName
 
Methods inherited from class org.riotfamily.forms.AbstractElement
afterFormContextSet, afterFormSet, focus, getForm, getFormContext, getFormListener, getId, getParent, getStyleClass, getSystemStyleClass, getWrapperStyleClass, isCompositeElement, isEnabled, render, render, renderInternal, setEnabled, setForm, setFormContext, setHint, setId, setInline, setLabel, setParent, setReadOnly, setRequired, setStyleClass, setVisible, setWrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.riotfamily.forms.element.select.SelectElement
getParamName
 
Methods inherited from interface org.riotfamily.forms.event.JavaScriptEventAdapter
getId
 

Constructor Detail

AbstractMultiSelectElement

public AbstractMultiSelectElement()
Method Detail

setCollectionClass

public void setCollectionClass(Class<? extends Collection<?>> collectionClass)
Sets the class to use if a new collection instance needs to be created. If no class is set a suitable implementation will be selected according to the type of the property the element is bound to.

Parameters:
collectionClass - the class to use for new collections

getCollectionClass

public Class<? extends Collection> getCollectionClass()

setMaxSelection

public void setMaxSelection(Integer maxSelection)

afterBindingSet

protected void afterBindingSet()
Overrides:
afterBindingSet in class AbstractEditorBase

setValue

public final void setValue(Object value)
Description copied from interface: Editor
Sets the (initial) value, typically retrieved from a backing object.


getValue

public Object getValue()
Description copied from interface: Editor
Returns the value.


getSelectedValues

protected Collection<Object> getSelectedValues()

hasSelection

protected boolean hasSelection()
Specified by:
hasSelection in class AbstractSelectElement

isSelected

public boolean isSelected(OptionItem option)

processRequest

public void processRequest(FormRequest request)
Description copied from class: AbstractElement
Subclasses may override this method to change their internal state according the given request.

Specified by:
processRequest in interface Element
Overrides:
processRequest in class AbstractElement
See Also:
AbstractElement.processRequest(org.riotfamily.forms.request.FormRequest)

updateSelection

protected void updateSelection(Collection<?> optionValues)
Specified by:
updateSelection in class AbstractSelectElement

validate

public void validate()
Overrides:
validate in class AbstractSelectElement

handleJavaScriptEvent

public void handleJavaScriptEvent(JavaScriptEvent event)