Class 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