001    /**
002     * Implements the CFML Function listappend
003     */
004    package railo.runtime.functions.list;
005    
006    import railo.runtime.PageContext;
007    import railo.runtime.ext.function.Function;
008    
009    public final class ListAppend implements Function {
010            public static String call(PageContext pc , String list, String value) {
011                    if(list.length()==0) return value;
012                    return new StringBuffer(list).append(',').append(value).toString();
013            }
014            public static String call(PageContext pc , String list, String value, String delimiter) {
015                    if(list.length()==0) return value;
016            switch(delimiter.length()) {
017            case 0:return list;
018            case 1:return new StringBuffer(list).append(delimiter).append(value).toString();
019            }
020            return new StringBuffer(list).append(delimiter.charAt(0)).append(value).toString();
021            }
022            
023    }