下面列出了javax.script.ScriptEngineFactory#getLanguageName ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
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;
}
public void actionPerformed(ActionEvent e) {
ScriptEngineFactory[] scriptEngineFactories = getScriptManager().getEngineFactories();
final Item[] items = new Item[scriptEngineFactories.length];
for (int i = 0; i < scriptEngineFactories.length; i++) {
ScriptEngineFactory scriptEngineFactory = scriptEngineFactories[i];
items[i] = new Item(scriptEngineFactory.getLanguageName(), scriptEngineFactory);
}
Item selectedItem = null;
if (items.length != 0) {
selectedItem = promptForEngine(items);
} else {
getScriptConsoleTopComponent().showErrorMessage("No scripting language available.");
}
if (selectedItem != null) {
getScriptConsoleTopComponent().newScript(selectedItem.scriptEngineFactory);
}
}
private String mapLanguageToSyntaxHighlighting( final ScriptEngineFactory script ) {
if ( script == null ) {
return SyntaxConstants.SYNTAX_STYLE_NONE;
}
final String language = script.getLanguageName();
if ( "ECMAScript".equalsIgnoreCase( language )
|| "js".equalsIgnoreCase( language )
|| "rhino".equalsIgnoreCase( language )
|| "javascript".equalsIgnoreCase( language ) ) {
return SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT;
}
if ( "groovy".equalsIgnoreCase( language ) ) {
return SyntaxConstants.SYNTAX_STYLE_GROOVY;
}
return SyntaxConstants.SYNTAX_STYLE_NONE;
}
@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*/);
}
public static String mapLanguageToSyntaxHighlighting( final ScriptEngineFactory script ) {
if ( script == null ) {
return SYNTAX_STYLE_NONE;
}
final String language = script.getLanguageName();
if ( "ECMAScript".equalsIgnoreCase( language ) || "js".equalsIgnoreCase( language )
|| "rhino".equalsIgnoreCase( language ) || "javascript".equalsIgnoreCase( language ) ) {
return SYNTAX_STYLE_JAVASCRIPT;
}
if ( "groovy".equalsIgnoreCase( language ) ) {
return SYNTAX_STYLE_GROOVY;
}
return SYNTAX_STYLE_NONE;
}
private String getSelectedGlobalScriptLanguage() {
Object selectedItem = globalLanguageField.getSelectedItem();
if ( selectedItem instanceof ScriptEngineFactory == false ) {
return null;
}
ScriptEngineFactory engineFactory = (ScriptEngineFactory) selectedItem;
return engineFactory.getLanguageName();
}
private String getSelectedQueryScriptLanguage() {
Object selectedItem = queryLanguageField.getSelectedItem();
if ( selectedItem instanceof ScriptEngineFactory == false ) {
return null;
}
ScriptEngineFactory engineFactory = (ScriptEngineFactory) selectedItem;
return engineFactory.getLanguageName();
}
private String getGlobalScriptingLanguage() {
final ScriptEngineFactory selectedValue = (ScriptEngineFactory) globalLanguageField.getSelectedItem();
if ( selectedValue == null ) {
return null;
}
return selectedValue.getLanguageName();
}
private String getGlobalScriptingLanguage() {
final ScriptEngineFactory selectedValue = (ScriptEngineFactory) globalLanguageField.getSelectedItem();
if ( selectedValue == null ) {
return null;
}
return selectedValue.getLanguageName();
}
private String getGlobalScriptingLanguage() {
final ScriptEngineFactory selectedValue = (ScriptEngineFactory) globalLanguageField.getSelectedItem();
if ( selectedValue == null ) {
return null;
}
return selectedValue.getLanguageName();
}
private String getGlobalScriptingLanguage() {
final ScriptEngineFactory selectedValue = (ScriptEngineFactory) globalLanguageField.getSelectedItem();
if ( selectedValue == null ) {
return null;
}
return selectedValue.getLanguageName();
}