protected Collection extractSelectItemsCollectionFromObject()

in myfaces-html5-core/src/main/java/org/apache/myfaces/html5/renderkit/input/delegate/HtmlTextInputSuggestionRendererHelper.java [185:219]


    protected Collection<SelectItem> extractSelectItemsCollectionFromObject(Object objSuggestions)
    {
        Collection<SelectItem> selectItemsCollection = null;

        if (objSuggestions instanceof String)
        {
            // if suggestions property is comma separated words, create new SelectItem objects from splits

            String strSuggestions = (String) objSuggestions;
            String[] strSuggestionElements = strSuggestions.split(",");

            selectItemsCollection = new ArrayList<SelectItem>(strSuggestionElements.length);

            for (String strSuggesionElement : strSuggestionElements)
            {
                strSuggesionElement.trim();
                selectItemsCollection.add(new SelectItem(strSuggesionElement, strSuggesionElement));
            }
        }
        else if (objSuggestions instanceof SelectItem[])
        {
            selectItemsCollection = Arrays.asList((SelectItem[]) objSuggestions);
        }
        else if (objSuggestions instanceof Collection<?>)
        {
            selectItemsCollection = (Collection<SelectItem>) objSuggestions;
        }
        else
        {
            // WIKI: Add a wiki page
            throw new FacesException(
                    "\"suggestions\" property should be one of comma separeted strings, SelectItem[] or Collection of \"SelectItem\"s");
        }
        return selectItemsCollection;
    }