001 /** 002 * Implements the Cold Fusion Function listinsertat 003 */ 004 package railo.runtime.functions.list; 005 006 import railo.runtime.PageContext; 007 import railo.runtime.exp.ExpressionException; 008 import railo.runtime.exp.FunctionException; 009 import railo.runtime.ext.function.Function; 010 import railo.runtime.type.List; 011 012 public final class ListInsertAt implements Function { 013 014 private static final long serialVersionUID = 2796195727971683118L; 015 016 public static String call(PageContext pc , String list, double posNumber, String value) throws ExpressionException { 017 return call(pc,list,posNumber,value,",",false); 018 } 019 020 public static String call(PageContext pc , String list, double posNumber, String value, String strDelimeter) throws ExpressionException { 021 return call(pc,list,posNumber,value,strDelimeter,false); 022 } 023 024 public static String call(PageContext pc , String list, double posNumber, String value, String strDelimeter, boolean includeEmptyFields) throws ExpressionException { 025 if(strDelimeter.length()==0) 026 throw new FunctionException(pc,"listInsertAt",4,"delimeter","invalid delimeter value, can't be a empty string"); 027 028 return List.listInsertAt(list,(int)posNumber,value,strDelimeter,!includeEmptyFields); 029 } 030 }