001 /** 002 * Implements the CFML Function listtoarray 003 */ 004 package railo.runtime.functions.list; 005 006 import railo.runtime.PageContext; 007 import railo.runtime.ext.function.Function; 008 import railo.runtime.type.Array; 009 import railo.runtime.type.ArrayImpl; 010 import railo.runtime.type.util.ListUtil; 011 012 public final class ListToArray implements Function { 013 014 private static final long serialVersionUID = 5883854318455975404L; 015 016 public static Array call(PageContext pc , String list) { 017 if(list.length()==0) 018 return new ArrayImpl(); 019 return ListUtil.listToArrayRemoveEmpty(list,','); 020 } 021 public static Array call(PageContext pc , String list, String delimiter) { 022 return call(pc, list,delimiter,false,false); 023 } 024 public static Array call(PageContext pc , String list, String delimiter,boolean includeEmptyFields) { 025 return call(pc, list,delimiter,includeEmptyFields,false); 026 } 027 028 029 public static Array call(PageContext pc , String list, String delimiter,boolean includeEmptyFields,boolean multiCharacterDelimiter) { 030 if(includeEmptyFields){ 031 if(list.length()==0) { 032 Array a=new ArrayImpl(); 033 a.appendEL(""); 034 return a; 035 } 036 return ListUtil.listToArray(list,delimiter,multiCharacterDelimiter); 037 } 038 if(list.length()==0) 039 return new ArrayImpl(); 040 041 return ListUtil.listToArrayRemoveEmpty(list,delimiter,multiCharacterDelimiter); 042 } 043 }