Class BoundPropertiesSelectItemGroupProvider

java.lang.Object
javax.faces.model.SelectItem
com.webmethods.caf.faces.data.object.BoundPropertiesSelectItemGroupProvider
All Implemented Interfaces:
ISelectItemGroupProvider, ISelectItemProvider, Serializable

public class BoundPropertiesSelectItemGroupProvider extends SelectItem implements Serializable, ISelectItemGroupProvider

Adapts a ITableContentProvider, List or array to an ISelectItemGroupProvider.

A binding expression for either the label or value must be defined. If only one of the is defined, it will be used for both label and value.

the the same It value field name is not defined, label field value is used for the select item value.

The following demonstrates creating a new instance of this class, initialized with an array of MyItem objects, with the value of the group's items bound to the myValue property, and the label of the group's items bound to the myLabel property:

 class MyItem {
     public int getMyValue();
     public String getMyLabel(); 
 };
 
 MyItem[] items = new MyItems[] {....};
 ISelectItemGroupProvider provider = new BoundPropertiesSelectItemGroupProvider(items, "item", "#{item.myValue}", "#{item.myLabel}");
 Collection selectItems = provider.getSelectItemContentProviders();
                 
 for (java.util.Iterator i = selectItems(); i.hasNext(); ) {
     ISelectItemProvider selectItem = (ISelectItemProvider) i.next();
           String label = selectItem.getLabel(); // returns value of "myLabel" property for each item
           Object value = selectItem.getValue(); // returns value of "myValue" property for each item
 }
 
See Also: