001 package railo.runtime.functions.query; 002 003 import railo.runtime.PageContext; 004 import railo.runtime.exp.PageException; 005 import railo.runtime.functions.BIF; 006 import railo.runtime.op.Caster; 007 import railo.runtime.type.Query; 008 import railo.runtime.type.util.ListUtil; 009 010 /** 011 * Implements the CFML Function querynew 012 */ 013 public final class QueryColumnList extends BIF { 014 015 private static final long serialVersionUID = 2718851377017546192L; 016 017 public static String call(PageContext pc , Query qry) { 018 return call(pc,qry,","); 019 } 020 public static String call(PageContext pc , Query qry, String delimiter) { 021 return ListUtil.arrayToList(qry.getColumnNamesAsString(),delimiter); 022 } 023 024 @Override 025 public Object invoke(PageContext pc, Object[] args) throws PageException { 026 if(args.length==1)return call(pc,Caster.toQuery(args[0])); 027 return call(pc,Caster.toQuery(args[0]),Caster.toString(args[1])); 028 } 029 }