Package groovy.lang

# Class Binding

java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.lang.Binding

All Implemented Interfaces:
  `GroovyObject`

Direct Known Subclasses:
  `FactoryBuilderSupport`, `ServletBinding`

public class Binding extends GroovyObjectSupport
Represents the variable bindings of a script which can be altered from outside the script object or created outside of a script and passed into it.

Binding instances are not supposed to be used in a multithreaded context.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Binding()`
  Creates an empty binding.
  `Binding(String[] args)`
  A helper constructor used in main(String[]) method calls
  `Binding(Map variables)`
  Creates a binding backed by the supplied variables map.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `getProperty(String property)`
  Overloaded to make variables appear as bean properties or via the subscript operator
  `Object`
  `getVariable(String name)`
  `Map`
  `getVariables()`
  Returns the variables map, creating it on first access.
  `boolean`
  `hasVariable(String name)`
  Simple check for whether the binding contains a particular variable or not.
  `void`
  `removeVariable(String name)`
  remove the variable with the specified name
  `void`
  `setProperty(String property, Object newValue)`
  Overloaded to make variables appear as bean properties or via the subscript operator
  `void`
  `setVariable(String name, Object value)`
  Sets the value of the given variable

  ### 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`

  ### Methods inherited from interface groovy.lang.GroovyObject

  `invokeMethod`

- ## Constructor Details

  - ### Binding

    public Binding()
    Creates an empty binding.

  - ### Binding

    public Binding(Map variables)
    Creates a binding backed by the supplied variables map.
    Parameters:
      `variables` - the initial variables

  - ### Binding

    public Binding(String[] args)
    A helper constructor used in main(String[]) method calls
    Parameters:
      `args` - are the command line arguments from a main()

- ## Method Details

  - ### getVariable

    public Object getVariable(String name)
    Parameters:
      `name` - the name of the variable to lookup
    Returns:
      the variable value

  - ### setVariable

    public void setVariable(String name, Object value)
    Sets the value of the given variable
    Parameters:
      `name` - the name of the variable to set
      `value` - the new value for the given variable

  - ### removeVariable

    public void removeVariable(String name)
    remove the variable with the specified name
    Parameters:
      `name` - the name of the variable to remove

  - ### hasVariable

    public boolean hasVariable(String name)
    Simple check for whether the binding contains a particular variable or not.
    Parameters:
      `name` - the name of the variable to check for

  - ### getVariables

    public Map getVariables()
    Returns the variables map, creating it on first access.
    Returns:
      the backing variables map

  - ### getProperty

    public Object getProperty(String property)
    Overloaded to make variables appear as bean properties or via the subscript operator
    Parameters:
      `property` - the name of the property of interest
    Returns:
      the given property

  - ### setProperty

    public void setProperty(String property, Object newValue)
    Overloaded to make variables appear as bean properties or via the subscript operator
    Parameters:
      `property` - the name of the property of interest
      `newValue` - the new value for the property