groovy.lang

## Class Script

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - groovy.lang.Script

- All Implemented Interfaces:
    GroovyObject
  Direct Known Subclasses:
    DelegatingScript, GroovyTypeCheckingExtensionSupport.TypeCheckingDSL

      public abstract class Script
      extends GroovyObjectSupport

  This object represents a Groovy script
  Author:
    James Strachan, Guillaume Laforge

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Script()`
    `protected` | `Script(Binding binding)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `evaluate(java.io.File file)` A helper method to allow the dynamic evaluation of groovy expressions using this scripts binding as the variable scope
    `java.lang.Object` | `evaluate(java.lang.String expression)` A helper method to allow the dynamic evaluation of groovy expressions using this scripts binding as the variable scope
    `Binding` | `getBinding()`
    `java.lang.Object` | `getProperty(java.lang.String property)` Retrieves a property value.
    `java.lang.Object` | `invokeMethod(java.lang.String name, java.lang.Object args)` Invoke a method (or closure in the binding) defined.
    `void` | `print(java.lang.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.
    `void` | `printf(java.lang.String format, java.lang.Object value)` Prints a formatted string using the specified format string and argument.
    `void` | `printf(java.lang.String format, java.lang.Object[] values)` Prints a formatted string using the specified format string and arguments.
    `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.
    `void` | `println(java.lang.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.
    `abstract java.lang.Object` | `run()` The main instance method of a script which has variables in scope as defined by the current `Binding` instance.
    `void` | `run(java.io.File file, java.lang.String[] arguments)` A helper method to allow scripts to be run taking command line arguments
    `void` | `setBinding(Binding binding)`
    `void` | `setProperty(java.lang.String property, java.lang.Object newValue)` Sets the given property to the new value.

    - ### Methods inherited from class groovy.lang.GroovyObjectSupport

      `getMetaClass, setMetaClass`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Script

          protected Script()

    - #### Script

          protected Script(Binding binding)

  - ### Method Detail

    - #### getBinding

          public Binding getBinding()

    - #### setBinding

          public void setBinding(Binding binding)

    - #### getProperty

          public java.lang.Object getProperty(java.lang.String property)

      Description copied from interface: `GroovyObject`
      Retrieves a property value.
      Specified by:
        `getProperty` in interface `GroovyObject`
      Overrides:
        `getProperty` in class `GroovyObjectSupport`
      Parameters:
        `property` - the name of the property of interest
      Returns:
        the given property

    - #### setProperty

          public void setProperty(java.lang.String property,
                                  java.lang.Object newValue)

      Description copied from interface: `GroovyObject`
      Sets the given property to the new value.
      Specified by:
        `setProperty` in interface `GroovyObject`
      Overrides:
        `setProperty` in class `GroovyObjectSupport`
      Parameters:
        `property` - the name of the property of interest
        `newValue` - the new value for the property

    - #### invokeMethod

          public java.lang.Object invokeMethod(java.lang.String name,
                                               java.lang.Object args)

      Invoke a method (or closure in the binding) defined.
      Specified by:
        `invokeMethod` in interface `GroovyObject`
      Overrides:
        `invokeMethod` in class `GroovyObjectSupport`
      Parameters:
        `name` - method to call
        `args` - arguments to pass to the method
      Returns:
        value

    - #### run

          public abstract java.lang.Object run()

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

    - #### println

          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.

    - #### print

          public void print(java.lang.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.

    - #### println

          public void println(java.lang.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.

    - #### printf

          public void printf(java.lang.String format,
                             java.lang.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

    - #### printf

          public void printf(java.lang.String format,
                             java.lang.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

    - #### evaluate

          public java.lang.Object evaluate(java.lang.String expression)
                                    throws CompilationFailedException

      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
      Throws:
        `CompilationFailedException`

    - #### evaluate

          public java.lang.Object evaluate(java.io.File file)
                                    throws CompilationFailedException,
                                           java.io.IOException

      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
      Throws:
        `CompilationFailedException`
        `java.io.IOException`

    - #### run

          public void run(java.io.File file,
                          java.lang.String[] arguments)
                   throws CompilationFailedException,
                          java.io.IOException

      A helper method to allow scripts to be run taking command line arguments
      Throws:
        `CompilationFailedException`
        `java.io.IOException`