Example usage for javax.script ScriptEngineManager registerEngineExtension

List of usage examples for javax.script ScriptEngineManager registerEngineExtension

Introduction

In this page you can find the example usage for javax.script ScriptEngineManager registerEngineExtension.

Prototype

public void registerEngineExtension(String extension, ScriptEngineFactory factory) 

Source Link

Document

Registers a ScriptEngineFactory to handle an extension.

Usage

From source file:org.apache.synapse.mediators.bsf.ScriptMediator.java

protected void initScriptEngine() {
    if (log.isDebugEnabled()) {
        log.debug("Initializing script mediator for language : " + language);
    }/*from w w w  .ja  v a 2 s .  c  om*/

    ScriptEngineManager manager = new ScriptEngineManager();
    manager.registerEngineExtension("js", new RhinoScriptEngineFactory());
    manager.registerEngineExtension("groovy", new GroovyScriptEngineFactory());
    manager.registerEngineExtension("rb", new JRubyScriptEngineFactory());
    manager.registerEngineExtension("jsEngine", new RhinoScriptEngineFactory());
    manager.registerEngineExtension("py", new JythonScriptEngineFactory());
    this.scriptEngine = manager.getEngineByExtension(language);
    this.jsEngine = manager.getEngineByExtension("jsEngine");
    if (scriptEngine == null) {
        handleException("No script engine found for language: " + language);
    }
    xmlHelper = XMLHelper.getArgHelper(scriptEngine);

    this.multiThreadedEngine = scriptEngine.getFactory().getParameter("THREADING") != null;
    log.debug("Script mediator for language : " + language + " supports multithreading? : "
            + multiThreadedEngine);
}