001 /** 002 * Implements the CFML 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.util.ListUtil; 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 delimiter) throws PageException { 020 return call(pc,list,delimiter,false); 021 } 022 023 public static String call(PageContext pc , String list, String delimiter,boolean includeEmptyFields) throws PageException { 024 if(list.length()==0) return ""; 025 Array arr = includeEmptyFields?ListUtil.listToArray(list,delimiter):ListUtil.listToArrayRemoveEmpty(list,delimiter); 026 return ListUtil.arrayToList(ListUtil.trimItems(arr),delimiter); 027 } 028 }