/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.govu.engine.module;
import com.govu.engine.render.Renderer;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.io.FileUtils;
import org.mozilla.javascript.BaseFunction;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;
/**
*
* @author Mehmet Ecevit
*/
public class Require extends BaseFunction {
private Renderer renderer;
public Require(Renderer renderer) {
this.renderer = renderer;
}
@Override
public Object call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args) {
try {
String code = FileUtils.readFileToString(new File( renderer.getApp().getAbsolutePath() +"/" + args[0]),"UTF-8");
cx.evaluateString(scope, code , "<cmd>", 0, null);
} catch (FileNotFoundException ex) {
Logger.getLogger(Use.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Use.class.getName()).log(Level.SEVERE, null, ex);
}
return super.call(cx, scope, thisObj, args); //To change body of generated methods, choose Tools | Templates.
}
@Override
public String getFunctionName() {
return "require";
}
}