001    /**
002     * Implements the CFML Function listchangedelims
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.util.ListUtil;
010    
011    public final class ListChangeDelims implements Function {
012            
013            private static final long serialVersionUID = 8979553735693035787L;
014            
015            public static String call(PageContext pc , String list, String newDel) throws PageException {
016                    return call(pc , list, newDel, ",",false);
017            }
018            public static String call(PageContext pc , String list, String newDel, String oldDel) throws PageException {
019                    return call(pc, list, newDel, oldDel, false);
020            }
021            public static String call(PageContext pc , String list, String newDel, String oldDel, boolean includeEmptyFields) throws PageException {
022                    if(includeEmptyFields)return ListUtil.arrayToList(ListUtil.listToArray(list,oldDel),newDel);
023                    return ListUtil.arrayToList(ListUtil.listToArrayRemoveEmpty(list,oldDel),newDel);
024            }
025    }