javax.script.ScriptEngineManager.setBindings()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(10.7k)|赞(0)|评价(0)|浏览(106)

本文整理了Java中javax.script.ScriptEngineManager.setBindings()方法的一些代码示例,展示了ScriptEngineManager.setBindings()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ScriptEngineManager.setBindings()方法的具体详情如下:
包路径:javax.script.ScriptEngineManager
类名称:ScriptEngineManager
方法名:setBindings

ScriptEngineManager.setBindings介绍

[英]Sets the GLOBAL_SCOPE value to the specified bindings.
[中]将全局_范围值设置为指定的绑定。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Override
public void setBeanClassLoader(ClassLoader classLoader) {
  ScriptEngineManager scriptEngineManager = this.scriptEngineManager;
  if (scriptEngineManager == null) {
    scriptEngineManager = new ScriptEngineManager(classLoader);
    this.scriptEngineManager = scriptEngineManager;
    Bindings bindings = this.globalBindings;
    if (bindings != null) {
      scriptEngineManager.setBindings(bindings);
    }
  }
}

代码示例来源:origin: org.springframework/spring-context

@Override
public void setBeanClassLoader(ClassLoader classLoader) {
  ScriptEngineManager scriptEngineManager = this.scriptEngineManager;
  if (scriptEngineManager == null) {
    scriptEngineManager = new ScriptEngineManager(classLoader);
    this.scriptEngineManager = scriptEngineManager;
    Bindings bindings = this.globalBindings;
    if (bindings != null) {
      scriptEngineManager.setBindings(bindings);
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Set the globally scoped bindings on the underlying script engine manager,
 * shared by all scripts, as an alternative to script argument bindings.
 * @since 4.2.2
 * @see #evaluate(ScriptSource, Map)
 * @see javax.script.ScriptEngineManager#setBindings(Bindings)
 * @see javax.script.SimpleBindings
 */
public void setGlobalBindings(Map<String, Object> globalBindings) {
  Bindings bindings = StandardScriptUtils.getBindings(globalBindings);
  this.globalBindings = bindings;
  ScriptEngineManager scriptEngineManager = this.scriptEngineManager;
  if (scriptEngineManager != null) {
    scriptEngineManager.setBindings(bindings);
  }
}

代码示例来源:origin: org.springframework/spring-context

/**
 * Set the globally scoped bindings on the underlying script engine manager,
 * shared by all scripts, as an alternative to script argument bindings.
 * @since 4.2.2
 * @see #evaluate(ScriptSource, Map)
 * @see javax.script.ScriptEngineManager#setBindings(Bindings)
 * @see javax.script.SimpleBindings
 */
public void setGlobalBindings(Map<String, Object> globalBindings) {
  Bindings bindings = StandardScriptUtils.getBindings(globalBindings);
  this.globalBindings = bindings;
  ScriptEngineManager scriptEngineManager = this.scriptEngineManager;
  if (scriptEngineManager != null) {
    scriptEngineManager.setBindings(bindings);
  }
}

代码示例来源:origin: com.hazelcast/hazelcast-all

/**
 * Follows the same behavior of @link javax.script.ScriptEngineManager#setBindings(Bindings)
 * This means that the same bindings are applied to all the underlying managers.
 *
 * @param bindings
 */
@Override
public void setBindings(Bindings bindings) {
  this.bindings = bindings;
  for (ScriptEngineManagerInfo info : scriptEngineManagerInfoList) {
    info.scriptEngineManager.setBindings(bindings);
  }
}

代码示例来源:origin: hazelcast/hazelcast-jet

/**
 * Follows the same behavior of @link javax.script.ScriptEngineManager#setBindings(Bindings)
 * This means that the same bindings are applied to all the underlying managers.
 *
 * @param bindings
 */
@Override
public void setBindings(Bindings bindings) {
  this.bindings = bindings;
  for (ScriptEngineManagerInfo info : scriptEngineManagerInfoList) {
    info.scriptEngineManager.setBindings(bindings);
  }
}

代码示例来源:origin: OpenNMS/opennms

/**
 * Follows the same behavior of @link javax.script.ScriptEngineManager#setBindings(Bindings)
 * This means that the same bindings are applied to all the underlying managers.
 * @param bindings
 */
public void setBindings(Bindings bindings) {
  this.bindings=bindings;
  for(ScriptEngineManager manager: classLoaders.keySet()){
    manager.setBindings(bindings);
  }
}

代码示例来源:origin: kontalk/tigase-server

/**
 * Follows the same behavior of @link javax.script.ScriptEngineManager#setBindings(Bindings)
 * This means that the same bindings are applied to all the underlying managers.
 * @param bindings
 */
public void setBindings(Bindings bindings) {
  this.bindings=bindings;
  for(ScriptEngineManager manager: classLoaders.keySet()){
    manager.setBindings(bindings);
  }
}

代码示例来源:origin: org.opennms.features/org.opennms.features.osgi-jsr223

/**
 * Follows the same behavior of @link javax.script.ScriptEngineManager#setBindings(Bindings)
 * This means that the same bindings are applied to all the underlying managers.
 * @param bindings
 */
public void setBindings(Bindings bindings) {
  this.bindings=bindings;
  for(ScriptEngineManager manager: classLoaders.keySet()){
    manager.setBindings(bindings);
  }
}

代码示例来源:origin: org.apache.jclouds.karaf/commands

/**
* Follows the same behavior of @link
* javax.script.ScriptEngineManager#setBindings(Bindings) This means that the
* same bindings are applied to all the underlying managers.
*
* @param bindings
*/
public void setBindings(Bindings bindings) {
 this.bindings = bindings;
 for (ScriptEngineManager manager : classLoaders.keySet()) {
   manager.setBindings(bindings);
 }
}

代码示例来源:origin: apache/servicemix-bundles

@Override
public void setBeanClassLoader(ClassLoader classLoader) {
  ScriptEngineManager scriptEngineManager = this.scriptEngineManager;
  if (scriptEngineManager == null) {
    scriptEngineManager = new ScriptEngineManager(classLoader);
    this.scriptEngineManager = scriptEngineManager;
    Bindings bindings = this.globalBindings;
    if (bindings != null) {
      scriptEngineManager.setBindings(bindings);
    }
  }
}

代码示例来源:origin: OpenNMS/opennms

private Map<ScriptEngineManager, ClassLoader> findManagers(BundleContext context) {
  Map<ScriptEngineManager, ClassLoader> managers=new HashMap<ScriptEngineManager, ClassLoader>();
  for (ClassLoader classLoader: findClassLoaders(context)){
    ScriptEngineManager manager= new ScriptEngineManager(classLoader);
    manager.setBindings(bindings);
    managers.put(manager, classLoader);
  }
  return managers;
}

代码示例来源:origin: org.opennms.features/org.opennms.features.osgi-jsr223

private Map<ScriptEngineManager, ClassLoader> findManagers(BundleContext context) {
  Map<ScriptEngineManager, ClassLoader> managers=new HashMap<ScriptEngineManager, ClassLoader>();
  for (ClassLoader classLoader: findClassLoaders(context)){
    ScriptEngineManager manager= new ScriptEngineManager(classLoader);
    manager.setBindings(bindings);
    managers.put(manager, classLoader);
  }
  return managers;
}

代码示例来源:origin: apache/servicemix-bundles

/**
 * Set the globally scoped bindings on the underlying script engine manager,
 * shared by all scripts, as an alternative to script argument bindings.
 * @since 4.2.2
 * @see #evaluate(ScriptSource, Map)
 * @see javax.script.ScriptEngineManager#setBindings(Bindings)
 * @see javax.script.SimpleBindings
 */
public void setGlobalBindings(Map<String, Object> globalBindings) {
  Bindings bindings = StandardScriptUtils.getBindings(globalBindings);
  this.globalBindings = bindings;
  ScriptEngineManager scriptEngineManager = this.scriptEngineManager;
  if (scriptEngineManager != null) {
    scriptEngineManager.setBindings(bindings);
  }
}

代码示例来源:origin: kontalk/tigase-server

private Map<ScriptEngineManager, ClassLoader> findManagers(BundleContext context) {
  Map<ScriptEngineManager, ClassLoader> managers=new HashMap<ScriptEngineManager, ClassLoader>();
  try {
    for(String factoryName: findFactoryCandidates(context)){
      //We do not really need the class, but we need the classloader 
      ClassLoader factoryLoader=Class.forName(factoryName).getClassLoader();
              factoryLoader = new CustomClassLoader(new ClassLoader[] {
                  factoryLoader,
                  this.getClass().getClassLoader()
              }, factoryLoader);
      ScriptEngineManager manager=new ScriptEngineManager(factoryLoader);
      manager.setBindings(bindings);
      managers.put(manager, factoryLoader);
    }
    return managers;
  } catch (IOException ioe) {
    throw new RuntimeException(ioe);
  } catch (ClassNotFoundException cnfe) {
    throw new RuntimeException(cnfe);
  }
}
/**

代码示例来源:origin: org.apache.jclouds.karaf/commands

private Map<ScriptEngineManager, ClassLoader> findManagers(
   BundleContext context) {
 Map<ScriptEngineManager, ClassLoader> managers = new HashMap<ScriptEngineManager, ClassLoader>();
 for (String factoryName : findFactoryCandidates(context)) {
   // we do not really need the class, but we need the classloader
   ClassLoader factoryLoader = tryGetClassLoader(factoryName);
   if (factoryLoader == null) {
    continue;
   }
   ScriptEngineManager manager = tryCreateScriptEngineManager(
      factoryName, factoryLoader);
   if (manager != null) {
    manager.setBindings(bindings);
    managers.put(manager, factoryLoader);
   }
 }
 return managers;
}

代码示例来源:origin: tinkerpop/tinkubator

public MutantScriptEngine() throws RuntimeException {
  this.manager.setBindings(new SimpleBindings());
  this.context.setBindings(manager.getBindings(), ScriptContext.GLOBAL_SCOPE);
  this.context.setBindings(manager.getBindings(), ScriptContext.ENGINE_SCOPE);
  // for ruby
  System.setProperty("org.jruby.embed.localvariable.behavior", "persistent");
  for (ScriptEngineFactory factory : this.manager.getEngineFactories()) {
    if (!factory.getEngineName().equals(Tokens.MUTANT))
      this.engines.add(new EngineHolder(factory));
  }
  if (this.engines.size() == 0) {
    throw new RuntimeException("No script engines to load");
  } else {
    this.currentEngine = engines.get(0);
  }
}

代码示例来源:origin: com.hazelcast/hazelcast-all

private ScriptEngineManagerInfo createScriptEngineManagerInfo(String factoryName, ClassLoader factoryLoader) {
  try {
    ScriptEngineManager manager = new ScriptEngineManager(factoryLoader);
    manager.setBindings(bindings);
    return new ScriptEngineManagerInfo(manager, factoryLoader);
  } catch (Exception e) {
    // May fail if script implementation is not in environment
    logger.warning("Found ScriptEngineFactory candidate for " + factoryName
        + ", but could not load ScripEngineManager! -> " + e);
    if (logger.isFinestEnabled()) {
      logger.finest(e);
    }
    return null;
  }
}

代码示例来源:origin: hazelcast/hazelcast-jet

private ScriptEngineManagerInfo createScriptEngineManagerInfo(String factoryName, ClassLoader factoryLoader) {
  try {
    ScriptEngineManager manager = new ScriptEngineManager(factoryLoader);
    manager.setBindings(bindings);
    return new ScriptEngineManagerInfo(manager, factoryLoader);
  } catch (Exception e) {
    // May fail if script implementation is not in environment
    logger.warning("Found ScriptEngineFactory candidate for " + factoryName
        + ", but could not load ScripEngineManager! -> " + e);
    if (logger.isFinestEnabled()) {
      logger.finest(e);
    }
    return null;
  }
}

代码示例来源:origin: stackoverflow.com

private static void log(String msg, Object obj) {
  System.out.println(msg + " " + obj);
}

public static void main(String[] args) throws ScriptException {
  ScriptEngineManager manager = new ScriptEngineManager();
  Bindings bindings = new SimpleBindings();
  bindings.put("a", 3);
  bindings.put("org", 10);
  log("bingings-org", bindings.get("org"));
  manager.setBindings(bindings);

  ScriptEngine engine = manager.getEngineByName("JavaScript");
  log("global-a", engine.getBindings(ScriptContext.GLOBAL_SCOPE).get("a"));
  log("local-a", engine.get("a"));
  log("global-org", engine.getBindings(ScriptContext.GLOBAL_SCOPE).get("org"));
  log("local-org", engine.get("org"));

  // Use "context" to access GLOBAL_SCOPE "org" from script
  engine.eval(
    "var GLOBAL_SCOPE = javax.script.ScriptContext.GLOBAL_SCOPE;\n" +
    "var g = context.getBindings(GLOBAL_SCOPE);\n" +
    "print(g.get('org'))"); 
}

相关文章