org.scijava.script
Interface ScriptService

All Superinterfaces:
Comparable<Prioritized>, Contextual, Disposable, HasPluginInfo, Prioritized, PTService<ScriptLanguage>, RichPlugin, SciJavaPlugin, SciJavaService, Service, SingletonService<ScriptLanguage>
All Known Implementing Classes:
DefaultScriptService

public interface ScriptService
extends SingletonService<ScriptLanguage>, SciJavaService

Interface for service that works with scripting languages. This service discovers available scripting languages, and provides convenience methods to interact with them.

Author:
Johannes Schindelin

Field Summary
static String SCRIPTS_PATH_PROPERTY
          System property for overriding the list of directories to scan for scripts.
 
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.
 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.
 Class<?> lookupClass(String typeName)
          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 interface org.scijava.plugin.SingletonService
getInstance, getInstances
 
Methods inherited from interface org.scijava.plugin.PTService
getPlugins, getPluginService, getPluginType
 
Methods inherited from interface org.scijava.service.Service
initialize, 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
 

Field Detail

SCRIPTS_PATH_PROPERTY

static final String SCRIPTS_PATH_PROPERTY
System property for overriding the list of directories to scan for scripts.

See Also:
getScriptDirectories(), Constant Field Values
Method Detail

getIndex

ScriptLanguageIndex getIndex()
Gets the index of available scripting languages.


getLanguages

List<ScriptLanguage> getLanguages()
Gets the available scripting languages, including wrapped ScriptEngineFactory 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.


getLanguageByExtension

ScriptLanguage getLanguageByExtension(String extension)
Gets the scripting language that handles the given file extension.


getLanguageByName

ScriptLanguage getLanguageByName(String name)
Gets the scripting language with the given name.


getScriptDirectories

List<File> getScriptDirectories()
Gets the base directories to scan for scripts.


getMenuPrefix

MenuPath getMenuPrefix(File scriptDirectory)
Gets the menu path prefix for the given script directory, or null if none.


addScriptDirectory

void addScriptDirectory(File scriptDirectory)
Adds a base directory to scan for scripts.


addScriptDirectory

void addScriptDirectory(File scriptDirectory,
                        MenuPath menuPrefix)
Adds a base directory to scan for scripts, placing discovered scripts beneath the given menu path prefix.


removeScriptDirectory

void removeScriptDirectory(File scriptDirectory)
Removes a base directory to scan for scripts.


getScripts

Collection<ScriptInfo> getScripts()
Gets all available scripts.


getScript

ScriptInfo getScript(File scriptFile)
Gets the ScriptInfo metadata for the script at the given file, or null if none.


run

Future<ScriptModule> run(File file,
                         boolean process,
                         Object... inputs)
                         throws FileNotFoundException,
                                ScriptException
Executes the script in the given file.

Parameters:
file - 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.
Returns:
Future of the module instance being executed. Calling Future.get() will block until execution is complete.
Throws:
FileNotFoundException
ScriptException

run

Future<ScriptModule> run(File file,
                         boolean process,
                         Map<String,Object> inputMap)
                         throws FileNotFoundException,
                                ScriptException
Executes the script in the given file.

Parameters:
file - 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.
Returns:
Future of the module instance being executed. Calling Future.get() will block until execution is complete.
Throws:
FileNotFoundException
ScriptException

run

Future<ScriptModule> run(String path,
                         String script,
                         boolean process,
                         Object... inputs)
                         throws IOException,
                                ScriptException
Executes the given script.

Parameters:
path - 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.
Returns:
Future of the module instance being executed. Calling Future.get() will block until execution is complete.
Throws:
IOException
ScriptException

run

Future<ScriptModule> run(String path,
                         String script,
                         boolean process,
                         Map<String,Object> inputMap)
                         throws IOException,
                                ScriptException
Executes the given script.

Parameters:
path - 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.
Returns:
Future of the module instance being executed. Calling Future.get() will block until execution is complete.
Throws:
IOException
ScriptException

run

Future<ScriptModule> run(String path,
                         Reader reader,
                         boolean process,
                         Object... inputs)
                         throws IOException,
                                ScriptException
Executes the given script.

Parameters:
path - 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.
Returns:
Future of the module instance being executed. Calling Future.get() will block until execution is complete.
Throws:
IOException
ScriptException

run

Future<ScriptModule> run(String path,
                         Reader reader,
                         boolean process,
                         Map<String,Object> inputMap)
                         throws IOException,
                                ScriptException
Executes the given script.

Parameters:
path - 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.
Returns:
Future of the module instance being executed. Calling Future.get() will block until execution is complete.
Throws:
IOException
ScriptException

run

Future<ScriptModule> run(ScriptInfo info,
                         boolean process,
                         Object... inputs)
Executes the given script.

Parameters:
info - 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.
Returns:
Future of the module instance being executed. Calling Future.get() will block until execution is complete.

run

Future<ScriptModule> run(ScriptInfo info,
                         boolean process,
                         Map<String,Object> inputMap)
Executes the given script.

Parameters:
info - 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.
Returns:
Future of the module instance being executed. Calling Future.get() will block until execution is complete.

canHandleFile

boolean canHandleFile(File file)
TODO


canHandleFile

boolean canHandleFile(String fileName)
TODO


addAlias

void addAlias(Class<?> type)
TODO


addAlias

void addAlias(String alias,
              Class<?> type)
TODO


lookupClass

Class<?> lookupClass(String typeName)
                     throws ScriptException
TODO

Throws:
ScriptException


Copyright © 2009–2014 SciJava. All rights reserved.