/** * Implements the CFML Function gettoken */ package railo.runtime.functions.string; import java.util.StringTokenizer; import railo.runtime.PageContext; import railo.runtime.exp.ExpressionException; import railo.runtime.exp.FunctionException; import railo.runtime.ext.function.Function; public final class GetToken implements Function { public static String call(PageContext pc , String str, double index) throws ExpressionException { return call(pc,str,index,null); } public static String call(PageContext pc , String str, double index, String delimiters) throws ExpressionException { if(delimiters==null) delimiters="\r\n\t "; if(index<1) throw new FunctionException(pc,"getToken",2,"index","index must be a positive number now ("+((int)index)+")"); StringTokenizer tokens=new StringTokenizer(str,delimiters); int count=0; while(tokens.hasMoreTokens()) { if(++count==index)return tokens.nextToken(); tokens.nextToken(); } return ""; } }