org.riotfamily.forms.element.select
Class AbstractSelectElement

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

public abstract class AbstractSelectElement
extends AbstractEditorBase
implements Editor, SelectElement, BackingObjectAware, JavaScriptEventAdapter

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
AbstractSelectElement()
           
 
Method Summary
protected  List<OptionItem> createOptionItems()
           
 String getEventTriggerId()
           
 int getEventTypes()
          Returns a bitmask describing which client-side events should be propagated to the server.
 int getOptionIndex(OptionItem option)
           
protected  List<OptionItem> getOptionItems()
           
protected  String getOptionLabel(Object item)
           
 Object getOptions()
           
protected  String getOptionStyleClass(Object item)
           
protected  Object getOptionValue(Object item)
           
protected  boolean hasOptionValues()
           
protected abstract  boolean hasSelection()
           
 boolean isRequired()
          Returns whether the element is mandatory and must be filled out by the user.
 boolean isVisible()
           
 void renderOption(OptionItem option)
           
 void reset()
           
 void setAppendLabel(boolean appendLabelToMessageKey)
           
 void setBackingObject(Object obj)
           
 void setHideIfEmpty(boolean hideIfEmpty)
           
 void setLabelMessageKey(String labelMessageKey)
           
 void setLabelProperty(String labelProperty)
           
 void setOptionRenderer(OptionRenderer optionRenderer)
           
 void setOptions(Object options)
           
 void setStyleClassProperty(String styleClassProperty)
           
 void setValueProperty(String valueProperty)
           
protected abstract  void updateSelection(Collection<?> optionValues)
           
protected  void validate()
           
 
Methods inherited from class org.riotfamily.forms.AbstractEditorBase
addChangeListener, afterBindingSet, 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, processRequest, 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, isSelected
 
Methods inherited from interface org.riotfamily.forms.event.JavaScriptEventAdapter
getId, handleJavaScriptEvent
 

Constructor Detail

AbstractSelectElement

public AbstractSelectElement()
Method Detail

getEventTriggerId

public String getEventTriggerId()
Specified by:
getEventTriggerId in interface Element
Specified by:
getEventTriggerId in interface JavaScriptEventAdapter
Overrides:
getEventTriggerId in class AbstractElement

setOptionRenderer

public void setOptionRenderer(OptionRenderer optionRenderer)

renderOption

public void renderOption(OptionItem option)
Specified by:
renderOption in interface SelectElement

setValueProperty

public void setValueProperty(String valueProperty)

setLabelProperty

public void setLabelProperty(String labelProperty)

setStyleClassProperty

public void setStyleClassProperty(String styleClassProperty)

setLabelMessageKey

public void setLabelMessageKey(String labelMessageKey)

setAppendLabel

public void setAppendLabel(boolean appendLabelToMessageKey)

setOptions

public void setOptions(Object options)
Specified by:
setOptions in interface SelectElement

setHideIfEmpty

public void setHideIfEmpty(boolean hideIfEmpty)

getOptions

public Object getOptions()
Specified by:
getOptions in interface SelectElement

hasOptionValues

protected boolean hasOptionValues()

isRequired

public boolean isRequired()
Description copied from class: AbstractElement
Returns whether the element is mandatory and must be filled out by the user.

Specified by:
isRequired in interface Element
Overrides:
isRequired in class AbstractElement

isVisible

public boolean isVisible()
Specified by:
isVisible in interface Element
Overrides:
isVisible in class AbstractElement

setBackingObject

public void setBackingObject(Object obj)
Specified by:
setBackingObject in interface BackingObjectAware

reset

public void reset()
Specified by:
reset in interface SelectElement

getOptionItems

protected final List<OptionItem> getOptionItems()

createOptionItems

protected List<OptionItem> createOptionItems()

updateSelection

protected abstract void updateSelection(Collection<?> optionValues)

getOptionLabel

protected String getOptionLabel(Object item)

getOptionValue

protected Object getOptionValue(Object item)

getOptionStyleClass

protected String getOptionStyleClass(Object item)

getOptionIndex

public int getOptionIndex(OptionItem option)
Specified by:
getOptionIndex in interface SelectElement

hasSelection

protected abstract boolean hasSelection()

validate

protected void validate()

getEventTypes

public int getEventTypes()
Description copied from interface: JavaScriptEventAdapter
Returns a bitmask describing which client-side events should be propagated to the server.

Specified by:
getEventTypes in interface JavaScriptEventAdapter