/** * Implements the CFML Function tostring */ package railo.runtime.functions.string; import java.io.UnsupportedEncodingException; import railo.commons.lang.StringUtil; import railo.runtime.PageContext; import railo.runtime.exp.PageException; import railo.runtime.ext.function.Function; import railo.runtime.net.http.ReqRspUtil; import railo.runtime.op.Caster; public final class ToString implements Function { public static String call(PageContext pc ) { return ""; } public static String call(PageContext pc , Object object) throws PageException { return call(pc,object,null); } public static String call(PageContext pc , Object object, String encoding) throws PageException { if(StringUtil.isEmpty(encoding)) { encoding = ReqRspUtil.getCharacterEncoding(pc,pc.getResponse()); } if(object instanceof byte[]){ if(encoding!=null) { try { return new String((byte[])object,encoding); } catch (UnsupportedEncodingException e) {e.printStackTrace();} } return new String((byte[])object); } return Caster.toString(object); } }