Package: groovy.lang

## [Java] Class Script

- groovy.lang.Script

-     public abstract class Script
      extends GroovyObjectSupport

  This object represents a Groovy script

- - ### Constructor Summary

    Constructors
    Constructor and description
    `protected Script()` Creates a script with a fresh Binding.
    `protected Script(Binding binding)` Creates a script backed by the supplied binding.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public Object` | `evaluate(String expression)` A helper method to allow the dynamic evaluation of groovy expressions using this scripts binding as the variable scope
    `` | `public Object` | `evaluate(File file)` A helper method to allow the dynamic evaluation of groovy expressions using this scripts binding as the variable scope
    `` | `public Binding` | `getBinding()` Returns the binding used to resolve script variables.
    `` | `public Object` | `getProperty(String property)` * Retrieves a property value. * * Parameters: `propertyName` - the name of the property of interest * Returns: the given property
    `` | `public Object` | `invokeMethod(String name, Object args)` Invoke a method (or closure in the binding) defined.
    `` | `public void` | `print(Object value)` Prints the value to the current 'out' variable which should be a PrintWriter or at least have a print() method defined on it.
    `` | `public void` | `printf(String format, Object value)` Prints a formatted string using the specified format string and argument.
    `` | `public void` | `printf(String format, Object[] values)` Prints a formatted string using the specified format string and arguments.
    `` | `public void` | `println()` Prints a newline to the current 'out' variable which should be a PrintWriter or at least have a println() method defined on it.
    `` | `public void` | `println(Object value)` Prints the value and a newline to the current 'out' variable which should be a PrintWriter or at least have a println() method defined on it.
    `` | `public abstract Object` | `run()` The main instance method of a script which has variables in scope as defined by the current Binding instance.
    `` | `public void` | `run(File file, String[] arguments)` A helper method to allow scripts to be run taking command line arguments
    `` | `public void` | `setBinding(Binding binding)` Replaces the binding used to resolve script variables.
    `` | `public void` | `setProperty(String property, Object newValue)` * Sets the given property to the new value. * * Parameters: `propertyName` - the name of the property of interest * `newValue` - the new value for the property

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class GroovyObjectSupport` | `getMetaClass, setMetaClass`

- - ### Constructor Detail

    - #### protected Script()

      Creates a script with a fresh Binding.

    - #### protected Script(Binding binding)

      Creates a script backed by the supplied binding.

      Parameters:
        `binding` - the binding that supplies script variables

  - ### Method Detail

    - #### public Object evaluate(String expression)

      A helper method to allow the dynamic evaluation of groovy expressions using this scripts binding as the variable scope

      Parameters:
        `expression` - is the Groovy script expression to evaluate

    - #### public Object evaluate(File file)

      A helper method to allow the dynamic evaluation of groovy expressions using this scripts binding as the variable scope

      Parameters:
        `file` - is the Groovy script to evaluate

    - #### public Binding getBinding()

      Returns the binding used to resolve script variables.

      Returns:
        the script binding

    - #### public Object getProperty(String property)

      * Retrieves a property value. * *

      Parameters:
        `propertyName` - the name of the property of interest *
      Returns:
        the given property

    - #### public Object invokeMethod(String name, Object args)

      Invoke a method (or closure in the binding) defined.

      Parameters:
        `name` - method to call
        `args` - arguments to pass to the method
      Returns:
        value

    - #### public void print(Object value)

      Prints the value to the current 'out' variable which should be a PrintWriter or at least have a print() method defined on it. If there is no 'out' property then print to standard out.

    - #### public void printf(String format, Object value)

      Prints a formatted string using the specified format string and argument.

      Parameters:
        `format` - the format to follow
        `value` - the value to be formatted

    - #### public void printf(String format, Object[] values)

      Prints a formatted string using the specified format string and arguments.

      Parameters:
        `format` - the format to follow
        `values` - an array of values to be formatted

    - #### public void println()

      Prints a newline to the current 'out' variable which should be a PrintWriter or at least have a println() method defined on it. If there is no 'out' property then print to standard out.

    - #### public void println(Object value)

      Prints the value and a newline to the current 'out' variable which should be a PrintWriter or at least have a println() method defined on it. If there is no 'out' property then print to standard out.

    - #### public abstract Object run()

      The main instance method of a script which has variables in scope as defined by the current Binding instance.

    - #### public void run(File file, String[] arguments)

      A helper method to allow scripts to be run taking command line arguments

    - #### public void setBinding(Binding binding)

      Replaces the binding used to resolve script variables.

      Parameters:
        `binding` - the new script binding

    - #### public void setProperty(String property, Object newValue)

      * Sets the given property to the new value. * *

      Parameters:
        `propertyName` - the name of the property of interest *
        `newValue` - the new value for the property