001 /** 002 * Implements the Cold Fusion 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.List; 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 List.listToArrayRemoveEmpty(list,','); 020 } 021 public static Array call(PageContext pc , String list, String delimeter) { 022 return call(pc, list,delimeter,false,false); 023 } 024 public static Array call(PageContext pc , String list, String delimeter,boolean includeEmptyFields) { 025 return call(pc, list,delimeter,includeEmptyFields,false); 026 } 027 028 029 public static Array call(PageContext pc , String list, String delimeter,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 List.listToArray(list,delimeter,multiCharacterDelimiter); 037 } 038 if(list.length()==0) 039 return new ArrayImpl(); 040 041 return List.listToArrayRemoveEmpty(list,delimeter,multiCharacterDelimiter); 042 } 043 }