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

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

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

ScriptEngineManager.getEngineByMimeType介绍

[英]Retrieves new instance the ScriptingEngine for a specifed MIME type. Returns null if no suitable ScriptingEngine is found.
[中]

代码示例

代码示例来源:origin: looly/hutool

/**
 * 构造
 * 
 * @param nameOrExtOrMime 脚本名或者脚本语言扩展名或者MineType
 */
public FullSupportScriptEngine(String nameOrExtOrMime) {
  final ScriptEngineManager manager = new ScriptEngineManager();
  ScriptEngine engine = manager.getEngineByName(nameOrExtOrMime);
  if (null == engine) {
    engine = manager.getEngineByExtension(nameOrExtOrMime);
  }
  if (null == engine) {
    engine = manager.getEngineByMimeType(nameOrExtOrMime);
  }
  if (null == engine) {
    throw new NullPointerException(StrUtil.format("Script for [{}] not support !", nameOrExtOrMime));
  }
  this.engine = engine;
}

代码示例来源:origin: looly/hutool

/**
 * 构造
 * 
 * @param nameOrExtOrMime 脚本名或者脚本语言扩展名或者MineType
 */
public FullSupportScriptEngine(String nameOrExtOrMime) {
  final ScriptEngineManager manager = new ScriptEngineManager();
  ScriptEngine engine = manager.getEngineByName(nameOrExtOrMime);
  if (null == engine) {
    engine = manager.getEngineByExtension(nameOrExtOrMime);
  }
  if (null == engine) {
    engine = manager.getEngineByMimeType(nameOrExtOrMime);
  }
  if (null == engine) {
    throw new NullPointerException(StrUtil.format("Script for [{}] not support !", nameOrExtOrMime));
  }
  this.engine = engine;
}

代码示例来源:origin: org.junit.jupiter/junit-jupiter-engine

ScriptEngine createScriptEngine(String engine) {
  ScriptEngine scriptEngine = scriptEngineManager.getEngineByName(engine);
  if (scriptEngine == null) {
    scriptEngine = scriptEngineManager.getEngineByExtension(engine);
  }
  if (scriptEngine == null) {
    scriptEngine = scriptEngineManager.getEngineByMimeType(engine);
  }
  Preconditions.notNull(scriptEngine, () -> "Script engine not found: " + engine);
  Bindings bindings = scriptEngine.getBindings(ScriptContext.GLOBAL_SCOPE);
  bindings.put(Script.BIND_SYSTEM_PROPERTY, systemPropertyAccessor);
  bindings.put(Script.BIND_SYSTEM_ENVIRONMENT, environmentVariableAccessor);
  return scriptEngine;
}

代码示例来源:origin: oldmanpushcart/greys-anatomy

final ScriptEngine jsEngine = mgr.getEngineByMimeType("application/javascript");

代码示例来源:origin: lenskit/lenskit

private void writeSvgFile(DAGNode<Component, Dependency> graph, File outFile) throws IOException, LenskitCommandException {
  StringWriter sw = new StringWriter();
  logger.info("writing graph to memory");
  GraphDumper.renderGraph(graph, sw);
  String dotSrc = sw.toString();
  logger.debug("setting up script engine");
  ScriptEngineManager sem = new ScriptEngineManager();
  ScriptEngine engine = sem.getEngineByMimeType("text/javascript");
  try (InputStream istr = Graph.class.getResourceAsStream("/META-INF/resources/webjars/viz.js/1.5.1/viz.js");
     Reader rdr = new InputStreamReader(istr)) {
    logger.debug("loading Viz.js");
    engine.put(ScriptEngine.FILENAME, "viz.js");
    engine.eval(rdr);
  } catch (ScriptException e) {
    logger.error("error loading Viz.js", e);
    throw new LenskitCommandException("Could not load Viz.js", e);
  }
  engine.put("dotSrc", dotSrc);
  engine.put("outFile", outFile);
  try (InputStream istr = Graph.class.getResourceAsStream("render-graph.js");
     Reader rdr = new InputStreamReader(istr)) {
    logger.info("rendering graph to {}", outFile);
    engine.put(ScriptEngine.FILENAME, "render-graph.js");
    engine.eval(rdr);
  } catch (ScriptException e) {
    logger.error("error evaluating render script", e);
    throw new LenskitCommandException("could not evaluate SVG renderer", e);
  }
}

代码示例来源:origin: bcdev/beam

@Override
  public ScriptEngine call() throws Exception {
    return scriptEngineManager.getEngineByMimeType(mimeType);
  }
});

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

import javax.script.ScriptEngineManager

val engine = new ScriptEngineManager().getEngineByMimeType("text/javascript")
val result = engine.eval("1 + 1")
println(result)

代码示例来源:origin: KnisterPeter/jreact

/**
 * This creates a {@link JReact} instance using the default
 * {@link ScriptEngine} return for the mime-type 'application/javascript' and
 * filebased resources.
 */
public JReact() {
 this(new ScriptEngineManager().getEngineByMimeType("application/javascript"));
}

代码示例来源:origin: KnisterPeter/jreact

/**
 * This creates a {@link JReact} instance using classpath-resources instead of
 * filebased resources.
 *
 * @param useClasspathResources
 */
public JReact(final boolean useClasspathResources) {
 this(new ScriptEngineManager().getEngineByMimeType("application/javascript"), useClasspathResources);
}

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

public ScriptEngine getEngineByMimeType(String mimeType) {
  //TODO this is a hack to deal with context class loader issues
  ScriptEngine engine=null;
  for(ScriptEngineManager manager: classLoaders.keySet()){
    ClassLoader old=Thread.currentThread().getContextClassLoader();
    Thread.currentThread().setContextClassLoader(classLoaders.get(manager));
    engine=manager.getEngineByMimeType(mimeType);
    Thread.currentThread().setContextClassLoader(old);
    if (engine!=null) break;
  }
  return engine;
}

代码示例来源:origin: org.sonatype.nexus/nexus-core

@Override
@Nonnull
public ScriptEngine engineForMimeType(final String mimeType) {
 checkNotNull(mimeType);
 log.trace("Resolving engine for mime-type: {}", mimeType);
 ScriptEngine engine = engineManager.getEngineByMimeType(mimeType);
 checkState(engine != null, "Missing engine for mime-type: %s", mimeType);
 log.trace("Engine: {}", engine);
 return engine;
}

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

ScriptEngineManager manager = new ScriptEngineManager();
 ScriptEngine engine = manager.getEngineByMimeType("text/javascript");
 try {
   engine.eval("print('Result: ' + java.lang.Math.sin(0.8))");
   double y = ((Number) engine.eval("java.lang.Math.sin(0.8)")).doubleValue();
 } catch (ScriptException ex) {
   Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
 }

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

public ScriptEngine getEngineByMimeType(String mimeType) {
  //TODO this is a hack to deal with context class loader issues
  ScriptEngine engine=null;
  for(ScriptEngineManager manager: classLoaders.keySet()){
    ClassLoader old=Thread.currentThread().getContextClassLoader();
    Thread.currentThread().setContextClassLoader(classLoaders.get(manager));
    engine=manager.getEngineByMimeType(mimeType);
    Thread.currentThread().setContextClassLoader(old);
    if (engine!=null) break;
  }
   return engine;
}

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

@Override
public ScriptEngine getEngineByMimeType(String mimeType) {
  // TODO this is a hack to deal with context classloader issues
  ScriptEngine engine = null;
  for (ScriptEngineManagerInfo info : scriptEngineManagerInfoList) {
    Thread currentThread = Thread.currentThread();
    ClassLoader old = currentThread.getContextClassLoader();
    currentThread.setContextClassLoader(info.classloader);
    engine = info.scriptEngineManager.getEngineByMimeType(mimeType);
    currentThread.setContextClassLoader(old);
    if (engine != null) {
      break;
    }
  }
  return engine;
}

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

public ScriptEngine getEngineByMimeType(String mimeType) {
  //TODO this is a hack to deal with context class loader issues
  ScriptEngine engine=null;
  for(ScriptEngineManager manager: classLoaders.keySet()){
    ClassLoader old=Thread.currentThread().getContextClassLoader();
    Thread.currentThread().setContextClassLoader(classLoaders.get(manager));
    engine=manager.getEngineByMimeType(mimeType);
    Thread.currentThread().setContextClassLoader(old);
    if (engine!=null) break;
  }
  return engine;
}

代码示例来源:origin: org.eclipse.smarthome.automation/org.eclipse.smarthome.automation.module.script

@Override
public ScriptEngine createScriptEngine(String fileExtension) {
  ScriptEngine engine = engineManager.getEngineByExtension(fileExtension);
  if (engine == null) {
    engine = engineManager.getEngineByName(fileExtension);
  }
  if (engine == null) {
    engine = engineManager.getEngineByMimeType(fileExtension);
  }
  return engine;
}

代码示例来源:origin: openhab/openhab-core

@Override
public ScriptEngine createScriptEngine(String fileExtension) {
  ScriptEngine engine = engineManager.getEngineByExtension(fileExtension);
  if (engine == null) {
    engine = engineManager.getEngineByName(fileExtension);
  }
  if (engine == null) {
    engine = engineManager.getEngineByMimeType(fileExtension);
  }
  return engine;
}

代码示例来源:origin: org.eclipse.smarthome.automation/org.eclipse.smarthome.automation.module.script

@Override
public ScriptEngine createScriptEngine(String fileExtension) {
  ScriptEngine engine = engineManager.getEngineByExtension(fileExtension);
  if (engine == null) {
    engine = engineManager.getEngineByName(fileExtension);
  }
  if (engine == null) {
    engine = engineManager.getEngineByMimeType(fileExtension);
  }
  return engine;
}

代码示例来源:origin: openhab/openhab-core

@Override
public ScriptEngine createScriptEngine(String fileExtension) {
  ScriptEngine engine = engineManager.getEngineByExtension(fileExtension);
  if (engine == null) {
    engine = engineManager.getEngineByName(fileExtension);
  }
  if (engine == null) {
    engine = engineManager.getEngineByMimeType(fileExtension);
  }
  return engine;
}

代码示例来源:origin: com.xiaoleilu/hutool

public FullSupportScriptEngine(String nameOrExtOrMime) {
  ScriptEngineManager manager = new ScriptEngineManager();
  this.engine = manager.getEngineByName(nameOrExtOrMime);
  if(null == this.engine){
    manager.getEngineByExtension(nameOrExtOrMime);
  }
  if(null == this.engine){
    manager.getEngineByMimeType(nameOrExtOrMime);
  }
  if(null == this.engine){
    throw new NullPointerException(StrUtil.format("Script for [{}] not support !", nameOrExtOrMime));
  }
}

相关文章