/** * Implements the CFML Function insert */ package railo.runtime.functions.string; import railo.runtime.PageContext; import railo.runtime.exp.ExpressionException; import railo.runtime.ext.function.Function; public final class Insert implements Function { public static String call(PageContext pc , String sub, String str, double pos) throws ExpressionException { int p=(int) pos; if(p<0 || p>str.length()) throw new ExpressionException("third parameter of the function insert, must be between 0 and "+str.length()+" now ["+(p)+"]"); StringBuffer sb=new StringBuffer(str.length()+sub.length()); return sb.append(str.substring(0,p)).append(sub).append(str.substring(p)).toString(); } }