Class ScriptRunnerBase

java.lang.Object
org.apache.tools.ant.util.ScriptRunnerBase
Direct Known Subclasses:
JavaxScriptRunner, ScriptRunner

public abstract class ScriptRunnerBase extends Object
This is a common abstract base case for script runners. These classes need to implement executeScript, evaluateScript and supportsLanguage.
Since:
Ant 1.7.0
  • Constructor Details

    • ScriptRunnerBase

      public ScriptRunnerBase()
  • Method Details

    • addBeans

      public void addBeans(Map<String,?> dictionary)
      Add a list of named objects to the list to be exported to the script
      Parameters:
      dictionary - a map of objects to be placed into the script context indexed by String names.
    • addBean

      public void addBean(String key, Object bean)
      Add a single object into the script context.
      Parameters:
      key - the name in the context this object is to stored under.
      bean - the object to be stored in the script context.
    • getBeans

      protected Map<String,Object> getBeans()
      Get the beans used for the script.
      Returns:
      the map of beans.
    • executeScript

      public abstract void executeScript(String execName)
      Do the work.
      Parameters:
      execName - the name that will be passed to BSF for this script execution.
    • evaluateScript

      public abstract Object evaluateScript(String execName)
      Evaluate the script.
      Parameters:
      execName - the name that will be passed to the scripting engine for this script execution.
      Returns:
      the result of evaluating the script.
    • supportsLanguage

      public abstract boolean supportsLanguage()
      Check if a script engine can be created for this language.
      Returns:
      true if a script engine can be created, false otherwise.
    • getManagerName

      public abstract String getManagerName()
      Get the name of the manager prefix used for this scriptrunner.
      Returns:
      the prefix string.
    • setLanguage

      public void setLanguage(String language)
      Defines the language (required).
      Parameters:
      language - the scripting language name for the script.
    • getLanguage

      public String getLanguage()
      Get the script language
      Returns:
      the script language
    • setScriptClassLoader

      public void setScriptClassLoader(ClassLoader classLoader)
      Set the script classloader.
      Parameters:
      classLoader - the classloader to use.
    • getScriptClassLoader

      protected ClassLoader getScriptClassLoader()
      Get the classloader used to load the script engine.
      Returns:
      the classloader.
    • setKeepEngine

      public void setKeepEngine(boolean keepEngine)
      Whether to keep the script engine between calls.
      Parameters:
      keepEngine - if true, keep the engine.
    • getKeepEngine

      public boolean getKeepEngine()
      Get the keep engine attribute.
      Returns:
      the attribute.
    • setCompiled

      public final void setCompiled(boolean compiled)
      Whether to use script compilation if available.
      Parameters:
      compiled - if true, compile the script if possible.
      Since:
      Ant 1.10.2
    • getCompiled

      public final boolean getCompiled()
      Get the compiled attribute.
      Returns:
      the attribute.
      Since:
      Ant 1.10.2
    • setEncoding

      public void setEncoding(String encoding)
      Set encoding of the script from an external file; optional.
      Parameters:
      encoding - encoding of the external file containing the script source.
      Since:
      Ant 1.10.2
    • setSrc

      public void setSrc(File file)
      Load the script from an external file; optional.
      Parameters:
      file - the file containing the script source.
    • loadResource

      public void loadResource(Resource sourceResource)
      Add a resource to the source list.
      Parameters:
      sourceResource - the resource to load
      Throws:
      BuildException - if the resource cannot be read
      Since:
      Ant 1.7.1
    • loadResources

      public void loadResources(ResourceCollection collection)
      Add all resources in a resource collection to the source list.
      Parameters:
      collection - the resource to load
      Throws:
      BuildException - if a resource cannot be read
      Since:
      Ant 1.7.1
    • addText

      public void addText(String text)
      Set the script text. Properties in the text are not expanded!
      Parameters:
      text - a component of the script text to be added.
    • getScript

      public String getScript()
      Get the current script text content.
      Returns:
      the script text.
    • clearScript

      public void clearScript()
      Clear the current script text content.
    • setProject

      public void setProject(Project project)
      Set the project for this runner.
      Parameters:
      project - the project.
    • getProject

      public Project getProject()
      Get the project for this runner.
      Returns:
      the project.
    • bindToComponent

      public void bindToComponent(ProjectComponent component)
      Bind the runner to a project component. Properties, targets and references are all added as beans; project is bound to project, and self to the component.
      Parameters:
      component - to become self
    • bindToComponentMinimum

      public void bindToComponentMinimum(ProjectComponent component)
      Bind the runner to a project component. The project and self are the only beans set.
      Parameters:
      component - to become self
    • checkLanguage

      protected void checkLanguage()
      Check if the language attribute is set.
      Throws:
      BuildException - if it is not.
    • replaceContextLoader

      protected ClassLoader replaceContextLoader()
      Replace the current context classloader with the script context classloader.
      Returns:
      the current context classloader.
    • restoreContextLoader

      protected void restoreContextLoader(ClassLoader origLoader)
      Restore the context loader with the original context classloader. script context loader.
      Parameters:
      origLoader - the original context classloader.