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 }