javax.script.ScriptEngineFactory#getEngineName ( )源码实例Demo

下面列出了javax.script.ScriptEngineFactory#getEngineName ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: netbeans   文件: ScriptingTutorial.java
public ScriptEngine listAll() {
    // BEGIN: org.netbeans.libs.graalsdk.ScriptingTutorial#listAll
    ScriptEngine found = null;
    final ScriptEngineManager manager = Scripting.createManager();
    for (ScriptEngineFactory factory : manager.getEngineFactories()) {
        final String name = factory.getEngineName();
        System.err.println("Found " + name);
        if (factory.getMimeTypes().contains("text/javascript")) {
            if (name.equals("GraalVM:js")) {
                found = factory.getScriptEngine();
            }
        }
    }
    // END: org.netbeans.libs.graalsdk.ScriptingTutorial#listAll
    return found;
}
 
源代码2 项目: Knowage-Server   文件: ScriptUtilities.java
/**
 * getEngineFactoriesNames
 *
 * @return a map <name of the engine, alias>
 */
static public Map<String, String> getEngineFactoriesNames(){
	logger.debug("IN");
	ScriptEngineManager mgr = new ScriptEngineManager();
	List<ScriptEngineFactory> factories = mgr.getEngineFactories();

	Map<String,String> names=new HashMap<String,String>();
	for (ScriptEngineFactory factory: factories) {
		String engName1 = factory.getEngineName(); 
		String engVersion=factory.getEngineVersion();
		String engName=engName1+engVersion;
		List<String> engNames = factory.getNames();
		String alias=engName;
		if(engNames.size()>=1){
			alias=engNames.get(0);
		}
		names.put(engName, alias);
	}
	logger.debug("found "+names.keySet().size()+" engines");		
	logger.debug("OUT");
	return names;
}
 
源代码3 项目: Knowage-Server   文件: SpagoBIScriptManager.java
public void printInfo() {
	ScriptEngineManager mgr = new ScriptEngineManager();
	List<ScriptEngineFactory> factories = mgr.getEngineFactories();

	for (ScriptEngineFactory factory : factories) {
		logger.debug("ScriptEngineFactory Info");
		String engName = factory.getEngineName();
		String engVersion = factory.getEngineVersion();
		String langName = factory.getLanguageName();
		String langVersion = factory.getLanguageVersion();
		System.out.printf("\tScript Engine: %s (%s)\n", engName, engVersion);
		List<String> engNames = factory.getNames();
		for (String name : engNames) {
			System.out.printf("\tEngine Alias: %s\n", name);
		}
		System.out.printf("\tLanguage: %s (%s)\n", langName, langVersion);
	}
}
 
public Map<String, Map<String, Object>> availableEngines() {
    Map<String, Map<String, Object>> result = new LinkedHashMap<>();

    List<ScriptEngineFactory> factories = ENGINE_MANAGER.getEngineFactories();

    for (ScriptEngineFactory factory : factories) {
        Map<String, Object> f = new LinkedHashMap<>();
        String engName = factory.getEngineName();
        String engVersion = factory.getEngineVersion();
        List<String> engNames = factory.getNames();
        String langName = factory.getLanguageName();
        String langVersion = factory.getLanguageVersion();

        result.put(engName, f);
        f.put("language name", langName);
        f.put("language version", langVersion);
        f.put("aliases", engNames);
        f.put("version", engVersion);
    }
    return result;
}
 
源代码5 项目: netbeans   文件: JavaScriptEnginesTest.java
private static void fillArray(final ScriptEngineManager man, boolean allowAllAccess, List<Object[]> arr) {
    for (ScriptEngineFactory f : man.getEngineFactories()) {
        final String name = f.getEngineName();
        if (
                f.getMimeTypes().contains("text/javascript") ||
                name.contains("Nashorn")
                ) {
            final ScriptEngine eng = f.getScriptEngine();
            arr.add(new Object[] { name, "engineFactories", implName(eng), eng, allowAllAccess });
            for (String n : eng.getFactory().getNames()) {
                ScriptEngine byName = n == null ? null : man.getEngineByName(n);
                if (byName != null && eng.getClass() == byName.getClass()) {
                    arr.add(new Object[] { n, "name", implName(byName), byName, allowAllAccess });
                }
            }
            for (String t : eng.getFactory().getMimeTypes()) {
                ScriptEngine byType = t == null ? null : man.getEngineByMimeType(t);
                if (byType != null && eng.getClass() == byType.getClass()) {
                    arr.add(new Object[] { t, "type", implName(byType), byType, allowAllAccess });
                }
            }
            for (String e : eng.getFactory().getExtensions()) {
                ScriptEngine byExt = e == null ? null : man.getEngineByExtension(e);
                if (byExt != null && eng.getClass() == byExt.getClass()) {
                    arr.add(new Object[] { e, "ext", implName(byExt), byExt, allowAllAccess });
                }
            }
        }
    }
}
 
@Override
public Row next() {
    if (!it.hasNext())
        return null;
    ScriptEngineFactory factory = it.next();
    return new ValuesHolderRow(
            rowType,
            it.nextIndex(), // use nextIndex so that the IDs are 1-based
            factory.getEngineName(),
            factory.getEngineVersion(),
            factory.getLanguageName(),
            factory.getLanguageVersion(),
            ++rowCounter /*hidden pk*/);
}
 
源代码7 项目: wandora   文件: ScriptManager.java
public ScriptEngine getScriptEngine(String engineInfo){
    ScriptEngineFactory factory=engines.get(engineInfo);
    if(factory==null){
        javax.script.ScriptEngineManager manager=new javax.script.ScriptEngineManager();
        List<ScriptEngineFactory> fs=manager.getEngineFactories();
        int bestScore=0;
        for(ScriptEngineFactory f : fs){
            int s=matchEngine(engineInfo,f);
            if(s==10) {
                factory=f;
                break;
            }
            else if(s>bestScore){
                bestScore=s;
                factory=f;
            }
        }
        engines.put(engineInfo,factory);
    }
    if(factory==null) return null;
    
    ScriptEngine engine = factory.getScriptEngine();
    
    if(engine != null) {
        try {
            String engineName = factory.getEngineName();
            if(engineName != null && engineName.toLowerCase().contains("nashorn")) {
                // https://bugs.openjdk.java.net/browse/JDK-8025132
                engine.eval("load('nashorn:mozilla_compat.js');");
            }
        }
        catch(Exception e) {}
    }
    return engine;
}
 
源代码8 项目: netbeans   文件: NbPacScriptEvaluator.java
@Override
public String getEngineInfo() {
    ScriptEngineFactory factory = scriptEngine.getScriptEngine().getFactory();
    return factory.getEngineName() + " version " + factory.getEngineVersion();
}