|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.scijava.AbstractContextual
org.scijava.plugin.AbstractRichPlugin
org.scijava.service.AbstractService
org.scijava.plugin.AbstractPTService<PT>
org.scijava.plugin.AbstractSingletonService<ScriptLanguage>
org.scijava.script.DefaultScriptService
public class DefaultScriptService
Default service for working with scripting languages.
| Field Summary |
|---|
| Fields inherited from interface org.scijava.script.ScriptService |
|---|
SCRIPTS_PATH_PROPERTY |
| Constructor Summary | |
|---|---|
DefaultScriptService()
|
|
| Method Summary | |
|---|---|
void |
addAlias(Class<?> type)
TODO |
void |
addAlias(String alias,
Class<?> type)
TODO |
void |
addScriptDirectory(File scriptDirectory)
Adds a base directory to scan for scripts. |
void |
addScriptDirectory(File scriptDirectory,
MenuPath menuPrefix)
Adds a base directory to scan for scripts, placing discovered scripts beneath the given menu path prefix. |
boolean |
canHandleFile(File file)
TODO |
boolean |
canHandleFile(String fileName)
TODO |
ScriptLanguageIndex |
getIndex()
Gets the index of available scripting languages. |
ScriptLanguage |
getLanguageByExtension(String extension)
Gets the scripting language that handles the given file extension. |
ScriptLanguage |
getLanguageByName(String name)
Gets the scripting language with the given name. |
List<ScriptLanguage> |
getLanguages()
Gets the available scripting languages, including wrapped ScriptEngineFactory instances available from the Java scripting
framework itself. |
MenuPath |
getMenuPrefix(File scriptDirectory)
Gets the menu path prefix for the given script directory, or null if none. |
Class<ScriptLanguage> |
getPluginType()
Gets the type of plugins managed by this service. |
ScriptInfo |
getScript(File scriptFile)
Gets the ScriptInfo metadata for the script at the given file, or
null if none. |
List<File> |
getScriptDirectories()
Gets the base directories to scan for scripts. |
Collection<ScriptInfo> |
getScripts()
Gets all available scripts. |
void |
initialize()
Performs any needed initialization when the service is first loaded. |
Class<?> |
lookupClass(String alias)
TODO |
void |
removeScriptDirectory(File scriptDirectory)
Removes a base directory to scan for scripts. |
Future<ScriptModule> |
run(File file,
boolean process,
Map<String,Object> inputMap)
Executes the script in the given file. |
Future<ScriptModule> |
run(File file,
boolean process,
Object... inputs)
Executes the script in the given file. |
Future<ScriptModule> |
run(ScriptInfo info,
boolean process,
Map<String,Object> inputMap)
Executes the given script. |
Future<ScriptModule> |
run(ScriptInfo info,
boolean process,
Object... inputs)
Executes the given script. |
Future<ScriptModule> |
run(String path,
Reader reader,
boolean process,
Map<String,Object> inputMap)
Executes the given script. |
Future<ScriptModule> |
run(String path,
Reader reader,
boolean process,
Object... inputs)
Executes the given script. |
Future<ScriptModule> |
run(String path,
String script,
boolean process,
Map<String,Object> inputMap)
Executes the given script. |
Future<ScriptModule> |
run(String path,
String script,
boolean process,
Object... inputs)
Executes the given script. |
| Methods inherited from class org.scijava.plugin.AbstractSingletonService |
|---|
filterInstances, getInstance, getInstances |
| Methods inherited from class org.scijava.plugin.AbstractPTService |
|---|
getPlugins, getPluginService |
| Methods inherited from class org.scijava.service.AbstractService |
|---|
dispose, getContext, registerEventHandlers, setContext, toString |
| Methods inherited from class org.scijava.plugin.AbstractRichPlugin |
|---|
compareTo, getInfo, getPriority, setInfo, setPriority |
| Methods inherited from class org.scijava.AbstractContextual |
|---|
context |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.scijava.plugin.SingletonService |
|---|
getInstance, getInstances |
| Methods inherited from interface org.scijava.plugin.PTService |
|---|
getPlugins, getPluginService |
| Methods inherited from interface org.scijava.service.Service |
|---|
registerEventHandlers |
| Methods inherited from interface org.scijava.Contextual |
|---|
context, getContext, setContext |
| Methods inherited from interface org.scijava.Prioritized |
|---|
getPriority, setPriority |
| Methods inherited from interface java.lang.Comparable |
|---|
compareTo |
| Methods inherited from interface org.scijava.plugin.HasPluginInfo |
|---|
getInfo, setInfo |
| Methods inherited from interface org.scijava.Disposable |
|---|
dispose |
| Constructor Detail |
|---|
public DefaultScriptService()
| Method Detail |
|---|
public ScriptLanguageIndex getIndex()
ScriptService
getIndex in interface ScriptServicepublic List<ScriptLanguage> getLanguages()
ScriptServiceScriptEngineFactory instances available from the Java scripting
framework itself.
This method is similar to SingletonService.getInstances(), except that
SingletonService.getInstances() only returns ScriptLanguage subclasses
annotated with @Plugin.
getLanguages in interface ScriptServicepublic ScriptLanguage getLanguageByExtension(String extension)
ScriptService
getLanguageByExtension in interface ScriptServicepublic ScriptLanguage getLanguageByName(String name)
ScriptService
getLanguageByName in interface ScriptServicepublic List<File> getScriptDirectories()
ScriptService
getScriptDirectories in interface ScriptServicepublic MenuPath getMenuPrefix(File scriptDirectory)
ScriptService
getMenuPrefix in interface ScriptServicepublic void addScriptDirectory(File scriptDirectory)
ScriptService
addScriptDirectory in interface ScriptService
public void addScriptDirectory(File scriptDirectory,
MenuPath menuPrefix)
ScriptService
addScriptDirectory in interface ScriptServicepublic void removeScriptDirectory(File scriptDirectory)
ScriptService
removeScriptDirectory in interface ScriptServicepublic Collection<ScriptInfo> getScripts()
ScriptService
getScripts in interface ScriptServicepublic ScriptInfo getScript(File scriptFile)
ScriptServiceScriptInfo metadata for the script at the given file, or
null if none.
getScript in interface ScriptService
public Future<ScriptModule> run(File file,
boolean process,
Object... inputs)
ScriptService
run in interface ScriptServicefile - File containing the script to execute.process - If true, executes the script with pre- and postprocessing
steps from all available PreprocessorPlugins and
PostprocessorPlugins in the plugin index; if false,
executes the script with no pre- or postprocessing.inputs - List of input parameter names and values. The expected order
is in pairs: an input name followed by its value, for each desired
input to populate. Leaving some inputs unpopulated is allowed.
Passing the name of an input that is not valid for the plugin, or
passing a value of a type incompatible with the associated input
parameter, will issue an error and ignore that name/value pair.
Future of the module instance being executed. Calling
Future.get() will block until execution is complete.
public Future<ScriptModule> run(File file,
boolean process,
Map<String,Object> inputMap)
ScriptService
run in interface ScriptServicefile - File containing the script to execute.process - If true, executes the script with pre- and postprocessing
steps from all available PreprocessorPlugins and
PostprocessorPlugins in the plugin index; if false,
executes the script with no pre- or postprocessing.inputMap - Table of input parameter values, with keys matching the
plugin's input parameter names. Passing a value of a type
incompatible with the associated input parameter will issue an
error and ignore that value.
Future of the module instance being executed. Calling
Future.get() will block until execution is complete.
public Future<ScriptModule> run(String path,
String script,
boolean process,
Object... inputs)
ScriptService
run in interface ScriptServicepath - Pseudo-path to the script. This is important mostly for the
path's file extension, which provides an important hint as to the
language of the script.script - The script itself to execute.process - If true, executes the script with pre- and postprocessing
steps from all available PreprocessorPlugins and
PostprocessorPlugins in the plugin index; if false,
executes the script with no pre- or postprocessing.inputs - List of input parameter names and values. The expected order
is in pairs: an input name followed by its value, for each desired
input to populate. Leaving some inputs unpopulated is allowed.
Passing the name of an input that is not valid for the plugin, or
passing a value of a type incompatible with the associated input
parameter, will issue an error and ignore that name/value pair.
Future of the module instance being executed. Calling
Future.get() will block until execution is complete.
public Future<ScriptModule> run(String path,
String script,
boolean process,
Map<String,Object> inputMap)
ScriptService
run in interface ScriptServicepath - Pseudo-path to the script. This is important mostly for the
path's file extension, which provides an important hint as to the
language of the script.script - The script itself to execute.process - If true, executes the script with pre- and postprocessing
steps from all available PreprocessorPlugins and
PostprocessorPlugins in the plugin index; if false,
executes the script with no pre- or postprocessing.inputMap - Table of input parameter values, with keys matching the
plugin's input parameter names. Passing a value of a type
incompatible with the associated input parameter will issue an
error and ignore that value.
Future of the module instance being executed. Calling
Future.get() will block until execution is complete.
public Future<ScriptModule> run(String path,
Reader reader,
boolean process,
Object... inputs)
ScriptService
run in interface ScriptServicepath - Pseudo-path to the script. This is important mostly for the
path's file extension, which provides an important hint as to the
language of the script.reader - A stream providing the script contents.process - If true, executes the script with pre- and postprocessing
steps from all available PreprocessorPlugins and
PostprocessorPlugins in the plugin index; if false,
executes the script with no pre- or postprocessing.inputs - List of input parameter names and values. The expected order
is in pairs: an input name followed by its value, for each desired
input to populate. Leaving some inputs unpopulated is allowed.
Passing the name of an input that is not valid for the plugin, or
passing a value of a type incompatible with the associated input
parameter, will issue an error and ignore that name/value pair.
Future of the module instance being executed. Calling
Future.get() will block until execution is complete.
public Future<ScriptModule> run(String path,
Reader reader,
boolean process,
Map<String,Object> inputMap)
ScriptService
run in interface ScriptServicepath - Pseudo-path to the script. This is important mostly for the
path's file extension, which provides an important hint as to the
language of the script.reader - A stream providing the script contents.process - If true, executes the script with pre- and postprocessing
steps from all available PreprocessorPlugins and
PostprocessorPlugins in the plugin index; if false,
executes the script with no pre- or postprocessing.inputMap - Table of input parameter values, with keys matching the
plugin's input parameter names. Passing a value of a type
incompatible with the associated input parameter will issue an
error and ignore that value.
Future of the module instance being executed. Calling
Future.get() will block until execution is complete.
public Future<ScriptModule> run(ScriptInfo info,
boolean process,
Object... inputs)
ScriptService
run in interface ScriptServiceinfo - The script to instantiate and run.process - If true, executes the script with pre- and postprocessing
steps from all available PreprocessorPlugins and
PostprocessorPlugins in the plugin index; if false,
executes the script with no pre- or postprocessing.inputs - List of input parameter names and values. The expected order
is in pairs: an input name followed by its value, for each desired
input to populate. Leaving some inputs unpopulated is allowed.
Passing the name of an input that is not valid for the plugin, or
passing a value of a type incompatible with the associated input
parameter, will issue an error and ignore that name/value pair.
Future of the module instance being executed. Calling
Future.get() will block until execution is complete.
public Future<ScriptModule> run(ScriptInfo info,
boolean process,
Map<String,Object> inputMap)
ScriptService
run in interface ScriptServiceinfo - The script to instantiate and run.process - If true, executes the script with pre- and postprocessing
steps from all available PreprocessorPlugins and
PostprocessorPlugins in the plugin index; if false,
executes the script with no pre- or postprocessing.inputMap - Table of input parameter values, with keys matching the
plugin's input parameter names. Passing a value of a type
incompatible with the associated input parameter will issue an
error and ignore that value.
Future of the module instance being executed. Calling
Future.get() will block until execution is complete.public boolean canHandleFile(File file)
ScriptService
canHandleFile in interface ScriptServicepublic boolean canHandleFile(String fileName)
ScriptService
canHandleFile in interface ScriptServicepublic void addAlias(Class<?> type)
ScriptService
addAlias in interface ScriptService
public void addAlias(String alias,
Class<?> type)
ScriptService
addAlias in interface ScriptService
public Class<?> lookupClass(String alias)
throws ScriptException
ScriptService
lookupClass in interface ScriptServiceScriptExceptionpublic Class<ScriptLanguage> getPluginType()
PTService
getPluginType in interface PTService<ScriptLanguage>public void initialize()
Service
NB: This method is not intended to be called directly. It is called by
the service framework itself (specifically by the ServiceHelper)
when initializing the service. It should not be called a second time.
initialize in interface Serviceinitialize in class AbstractSingletonService<ScriptLanguage>
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||