001    /**
002     * Implements the CFML Function listprepend
003     */
004    package railo.runtime.functions.list;
005    
006    import railo.commons.lang.StringUtil;
007    import railo.runtime.PageContext;
008    import railo.runtime.ext.function.Function;
009    
010    public final class ListPrepend implements Function {
011    
012            private static final long serialVersionUID = -4252541560957800011L;
013            
014            public static String call(PageContext pc , String list, String value) {
015                    if(list.length()==0) return value;
016                    return new StringBuffer(value).append(',').append(list).toString();
017            }
018            public static String call(PageContext pc , String list, String value, String delimiter) {
019                    if(list.length()==0) return value;
020                    if(StringUtil.isEmpty(delimiter)) {
021                        return call(pc,list,value);
022            }
023            return new StringBuffer(value).append(delimiter.charAt(0)).append(list).toString();
024            }
025    }