Class EnumMultiSelectBoxDisplay<E extends Enum<E>>
java.lang.Object
name.matthewgreet.strutscommons.view.EnumMultiSelectBoxDisplay<E>
Template that aids creation of OPTION tags in JSPs for multi selection SELECT elements by formatting an
enumerated type for display. Subclasses should be created in the JSP as a bean and the
selectedValuesproperty set with the currently selected items. See also SelectBoxItemDisplay2.
Example JSP code:
<SELECT SIZE="1" NAME="category" MULTIPLE>
<s:iterator value="categoryDisplay.list" var="categoryItemDisplay">
<OPTION VALUE="<s:property value="#categoryItemDisplay.value"/>" <s:property value="#categoryItemDisplay.selectedAttribute"/>><s:property value="#categoryItemDisplay.text"/></OPTION>
</s:iterator>
</SELECT>
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddItems(List<SelectBoxItemDisplay2<E, E>> formattedModel) May be overridden by subclasses to add additional, formatted items to the display list.protected abstract E[]Overridden by subclass to return the values of the enumerated type.getList()Returns formatted version of account list for human display.Returns selected, formatted items or empty collection if none selected.protected Comparator<SelectBoxItemDisplay2<E, E>> May be overridden by subclasses to return a comparator for defining display order of formatted items.protected StringMay be overridden by subclasses to return text to be displayed to user as part of OPTION element.protected StringMay be overridden by subclasses to return string to be used in VALUE attribute of OPTION element.protected booleanMay be overridden by subclasses to filter items in lookup list from display.protected SelectBoxItemDisplay2<E, E> makeSelectBoxItemDisplay(String value, String text, E data) May be overridden by subclasses to return formatted text of an enumerated value for display in a select box.voidsetList(List<SelectBoxItemDisplay2<E, E>> value) Directly sets formatted version of account list for human display.voidsetSelectedFormattedValues(Collection<String> values) Selects items matching name of enumerated value.voidsetSelectedFormattedValuesWithConversionError(Collection<String> values, String conversionErrorName) Selects item matching named Struts 2 conversion error (rejected form field value), or formatted identifier if conversion error not found.voidsetSelectedValues(Collection<E> keys) Selects items matching enumerated values.voidsetSelectedValuesWithConversionError(Collection<E> keys, String conversionErrorName) Selects items matching named Struts 2 conversion errors (rejected form field values), or unformatted identifier if conversion error not found.
-
Constructor Details
-
EnumMultiSelectBoxDisplay
public EnumMultiSelectBoxDisplay()
-
-
Method Details
-
addItems
May be overridden by subclasses to add additional, formatted items to the display list. This is typically used to add a blank item to represent no value or text that demands a real value is selected.- Parameters:
formattedModel- List ofSelectBoxItemDisplay2
-
getEnumValues
Overridden by subclass to return the values of the enumerated type. This function exists because the values cannot be extracted from a generic, enumerated type; -
getSortComparator
May be overridden by subclasses to return a comparator for defining display order of formatted items. Comparator compares instances ofSelectBoxItemDisplay2that are allowed by subclass. Defaults to comparator that sorts by ascending enumeration order. -
getText
May be overridden by subclasses to return text to be displayed to user as part of OPTION element. This is typically overridden as enumeration names aren't friendly for user display. -
getValue
May be overridden by subclasses to return string to be used in VALUE attribute of OPTION element. It is rarely useful to override this. -
isAllowed
May be overridden by subclasses to filter items in lookup list from display. Defaults to allow all items. -
makeSelectBoxItemDisplay
May be overridden by subclasses to return formatted text of an enumerated value for display in a select box. data will be null for a blank entry. -
getList
Returns formatted version of account list for human display. -
getSelectedItems
Returns selected, formatted items or empty collection if none selected. -
setList
Directly sets formatted version of account list for human display. The value must already be sorted. -
setSelectedFormattedValues
Selects items matching name of enumerated value. These match the OPTION tag VALUE attributes.- Parameters:
values- Name of selected items or null or empty collection to select none.
-
setSelectedFormattedValuesWithConversionError
public void setSelectedFormattedValuesWithConversionError(Collection<String> values, String conversionErrorName) Selects item matching named Struts 2 conversion error (rejected form field value), or formatted identifier if conversion error not found. Only appropriate in a Struts 2 context.- Parameters:
values- Enumerated value name.conversionErrorName- Name of Struts 2 conversion error, which will have the "<form name>.<field name>" format.
-
setSelectedValues
Selects items matching enumerated values. Formatted version of key matches the OPTION tag VALUE attribute.- Parameters:
keys- Enumerated values of selected items or null or empty collection to select none.
-
setSelectedValuesWithConversionError
Selects items matching named Struts 2 conversion errors (rejected form field values), or unformatted identifier if conversion error not found. Only appropriate in a Struts 2 context.- Parameters:
keys- Enumerated values.conversionErrorName- Name of Struts 2 conversion error, which will have the "<form name>.<field name>" format.
-