package railo.runtime.functions.poi;
import railo.commons.io.res.Resource;
import railo.runtime.PageContext;
import railo.runtime.exp.ApplicationException;
import railo.runtime.exp.PageException;
import railo.runtime.op.Caster;
import railo.runtime.op.Decision;
import railo.runtime.poi.Excel;
public class SpreadSheetWrite {
public static String call(PageContext pc,Excel excel, String path) throws PageException {
return call(pc, excel, path, null, false);
}
public static String call(PageContext pc,Excel excel, String path,Object passwordOrOverwrite) throws PageException {
if(Decision.isBoolean(passwordOrOverwrite))
return call(pc, excel, path, null, Caster.toBooleanValue(passwordOrOverwrite));
return call(pc, excel, path, passwordOrOverwrite, false);
}
public static String call(PageContext pc,Excel excel, String path,Object oPassword,boolean overwrite) throws PageException {
Resource res=Caster.toResource(pc,path, false);
String password=oPassword==null?null:Caster.toString(oPassword);
if(!overwrite && res.isFile())
throw new ApplicationException("Resource ["+res+"] already exist");
excel.write(res,password);
return null;
}
}