001    /**
002     * Implements the Cold Fusion Function listtoarray
003     */
004    package railo.runtime.functions.list;
005    
006    import railo.runtime.PageContext;
007    import railo.runtime.exp.PageException;
008    import railo.runtime.ext.function.Function;
009    import railo.runtime.type.Array;
010    import railo.runtime.type.List;
011    
012    public final class ListItemTrim implements Function {
013            
014            private static final long serialVersionUID = -2254266180423759499L;
015    
016            public static String call(PageContext pc , String list) throws PageException {
017                    return call(pc,list,",",false);
018            }
019            public static String call(PageContext pc , String list, String delimeter) throws PageException {
020                    return call(pc,list,delimeter,false);
021            }
022            
023            public static String call(PageContext pc , String list, String delimeter,boolean includeEmptyFields) throws PageException {
024                    if(list.length()==0) return "";
025                    Array arr = includeEmptyFields?List.listToArray(list,delimeter):List.listToArrayRemoveEmpty(list,delimeter);
026                    return List.arrayToList(List.trimItems(arr),delimeter); 
027            }
028    }