Class ListIndexConverter

java.lang.Object
org.omnifaces.converter.ListIndexConverter
All Implemented Interfaces:
Converter<Object>

public class ListIndexConverter extends Object implements Converter<Object>

The omnifaces.ListIndexConverter is a variant of the ListConverter which automatically converts based on the position (index) of the selected item in the list instead of the Object.toString() of the selected item.

Usage

This converter is available by converter ID omnifaces.ListIndexConverter and should be used in combination with <o:converter> in order to be able to pass the List source to it, which it can use for conversion. Here's a basic usage example with PrimeFaces <p:pickList>, which is one of the few select components which doesn't use SelectItems as the source, but work directly via a List.

 <p:pickList value="#{bean.dualListModel}" var="entity" itemValue="#{entity}" itemLabel="#{entity.someProperty}">
     <o:converter converterId="omnifaces.ListIndexConverter" list="#{bean.dualListModel.source}" />
 </p:pickList>
 

Since OmniFaces 4.5 it's also available by <o:listIndexConverter> tag.

 <p:pickList value="#{bean.dualListModel}" var="entity" itemValue="#{entity}" itemLabel="#{entity.someProperty}">
     <o:listIndexConverter" list="#{bean.dualListModel.source}" />
 </p:pickList>
 

Pros and cons as compared to ListConverter

For detail, refer the javadoc of SelectItemsIndexConverter and substitute "SelectItemsIndexConverter" by "ListIndexConverter" and "SelectItemsConverter" by "ListConverter".

Author:
Arjan Tijms