//Source file: H:\\temp\\generated\\ispuml\\mdaTransformation\\rules\\el\\ELScriptEngine.java
package modTransf.script.el;
import javax.script.GenericScriptEngine;
import javax.script.ScriptContext;
import javax.script.ScriptException;
import javax.script.Compilable;
import javax.script.SimpleNamespace;
import java.io.Reader;
import javax.script.Namespace;
import javax.script.ScriptEngineFactory;
import org.apache.taglibs.standard.lang.jstl.ELEvaluator;
import org.apache.taglibs.standard.lang.jstl.ELException;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.CompiledScript;
/**
* A script engine for the (old) EL language.
*/
public class ELScriptEngine extends GenericScriptEngine implements Compilable
{
/** The engine info */
protected ELScriptEngineFactory infoFactory;
/** The engine internal evaluator */
public static ELEvaluator evaluator = new ELEvaluator(new ScriptContextVariableResolver() );
/**
* Constructor.
*/
public ELScriptEngine()
{
}
/**
* Constructor.
*/
public ELScriptEngine(ELScriptEngineFactory infoFactory)
{
this.infoFactory = infoFactory;
}
/**
* @param arg0
* @param arg1
* @return java.lang.Object
* @throws javax.script.ScriptException
*/
public Object eval(java.lang.String script, ScriptContext context) throws ScriptException
{
try
{
return evaluator.evaluate(script, context, Object.class, null, null);
}
catch (ELException ex)
{
throw new ScriptException(ex);
}
}
/**
* @param arg0
* @param arg1
* @return java.lang.Object
* @throws javax.script.ScriptException
*/
public java.lang.Object eval(Reader script, ScriptContext context) throws ScriptException
{
throw new UnsupportedOperationException("Not yet implemented.");
}
/**
* @return javax.script.Namespace
*/
public Namespace createNamespace()
{
return new SimpleNamespace();
}
/**
* @return javax.script.ScriptEngineFactory
*/
public ScriptEngineFactory getFactory()
{
if(infoFactory == null )
infoFactory = new ELScriptEngineFactory();
return infoFactory;
}
/**
* compile
*
* @param string String
* @return CompiledScript
*/
public CompiledScript compile(String script)
{
return new ELCompiledScript( script, this) ;
}
/**
* compile
*
* @param reader Reader
* @return CompiledScript
*/
public CompiledScript compile(Reader reader)
{
throw new UnsupportedOperationException("Not yet implemented.");
}
}