001 /** 002 * Implements the CFML Function valuelist 003 */ 004 package railo.runtime.functions.query; 005 006 import railo.runtime.PageContext; 007 import railo.runtime.exp.PageException; 008 import railo.runtime.functions.BIF; 009 import railo.runtime.op.Caster; 010 import railo.runtime.type.Array; 011 import railo.runtime.type.ArrayImpl; 012 import railo.runtime.type.QueryColumn; 013 014 public class ValueArray extends BIF { 015 016 private static final long serialVersionUID = -1810991362001086246L; 017 018 public static Array call(PageContext pc , QueryColumn column) throws PageException { 019 Array arr=new ArrayImpl(); 020 int size=column.size(); 021 for(int i=1;i<=size;i++) { 022 arr.append(Caster.toString(column.get(i,null))); 023 } 024 return arr; 025 } 026 027 public static Array call(PageContext pc , String strQueryColumn) throws PageException { 028 return call(pc, ValueList.toColumn(pc,strQueryColumn)); 029 } 030 031 @Override 032 public Object invoke(PageContext pc, Object[] args) throws PageException { 033 if(args[0] instanceof QueryColumn) return call(pc, (QueryColumn)args[0]); 034 return call(pc,Caster.toString(args[0])); 035 } 036 }