Interface ScriptLanguage
-
- All Superinterfaces:
Comparable<Prioritized>,Contextual,HasPluginInfo,Identifiable,Locatable,Logged,Prioritized,RichPlugin,SciJavaPlugin,ScriptEngineFactory,SingletonPlugin,Versioned
- All Known Implementing Classes:
AbstractScriptLanguage,AdaptedScriptLanguage
public interface ScriptLanguage extends ScriptEngineFactory, RichPlugin, SingletonPlugin
The base interface for scripting language adapters.Every SciJava scripting language implements this interface, which is based on JSR 223, Scripting for the Java Platform, included in Java 6 and later in the
javax.scriptpackage. ThisScriptLanguageinterface extendsScriptEngineFactory, meaning it can act as a JSR 223 Java scripting language, while also providing additional functionality necessary for full support within applications such as ImageJ. In particular, this interface adds API for code generation of scripts to replicate SciJavaModuleexecutions (i.e., for "script recording" of SciJava commands).Script languages discoverable at runtime must implement this interface and be annotated with @
Pluginwith attributePlugin.type()=ScriptLanguage.class. While it possible to create a scripting language adapter merely by implementing this interface, it is encouraged to instead extendAbstractScriptLanguage, for convenience.- Author:
- Johannes Schindelin, Curtis Rueden, Hadrien Mary
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default Objectdecode(Object object)Performs any necessary conversion of an encoded object retrieved from the language's script engine.default AutoCompletergetAutoCompleter()Gets a helper object capable of generating autocomplete suggestions for a code fragment.default StringgetEngineVersion()default List<String>getExtensions()default StringgetLanguageVersion()default StringgetMethodCallSyntax(String obj, String m, String... args)default List<String>getMimeTypes()default List<String>getNames()default StringgetOutputStatement(String toDisplay)default ObjectgetParameter(String key)default StringgetProgram(String... statements)default booleanisCompiledLanguage()True iff this language requires a compilation step.-
Methods inherited from interface org.scijava.Contextual
context, getContext, setContext
-
Methods inherited from interface org.scijava.plugin.HasPluginInfo
getInfo, setInfo
-
Methods inherited from interface org.scijava.Locatable
getLocation
-
Methods inherited from interface org.scijava.Prioritized
compareTo, getPriority, setPriority
-
Methods inherited from interface org.scijava.plugin.RichPlugin
getIdentifier, log
-
Methods inherited from interface javax.script.ScriptEngineFactory
getEngineName, getLanguageName, getScriptEngine
-
Methods inherited from interface org.scijava.Versioned
getVersion
-
-
-
-
Method Detail
-
isCompiledLanguage
default boolean isCompiledLanguage()
True iff this language requires a compilation step.
-
decode
default Object decode(Object object)
Performs any necessary conversion of an encoded object retrieved from the language's script engine.- See Also:
ScriptEngine.get(String)
-
getAutoCompleter
default AutoCompleter getAutoCompleter()
Gets a helper object capable of generating autocomplete suggestions for a code fragment.
-
getMethodCallSyntax
default String getMethodCallSyntax(String obj, String m, String... args)
- Specified by:
getMethodCallSyntaxin interfaceScriptEngineFactory
-
getOutputStatement
default String getOutputStatement(String toDisplay)
- Specified by:
getOutputStatementin interfaceScriptEngineFactory
-
getProgram
default String getProgram(String... statements)
- Specified by:
getProgramin interfaceScriptEngineFactory
-
getExtensions
default List<String> getExtensions()
- Specified by:
getExtensionsin interfaceScriptEngineFactory
-
getNames
default List<String> getNames()
- Specified by:
getNamesin interfaceScriptEngineFactory
-
getLanguageVersion
default String getLanguageVersion()
- Specified by:
getLanguageVersionin interfaceScriptEngineFactory
-
getMimeTypes
default List<String> getMimeTypes()
- Specified by:
getMimeTypesin interfaceScriptEngineFactory
-
getParameter
default Object getParameter(String key)
- Specified by:
getParameterin interfaceScriptEngineFactory
-
getEngineVersion
default String getEngineVersion()
- Specified by:
getEngineVersionin interfaceScriptEngineFactory
-
-