Package groovy.lang

# Class Reference<T>

java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.lang.Reference<T>

All Implemented Interfaces:
  `GroovyObject`, `java.io.Serializable`

Direct Known Subclasses:
  `ScriptReference`

    public class Reference<T>
    extends GroovyObjectSupport
    implements java.io.Serializable

Represents a reference to a value

See Also:
  Serialized Form

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `Reference()` |
  `Reference​(T value)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `T` | `get()` |
  `java.lang.Object` | `getProperty​(java.lang.String property)` | Retrieves a property value.
  `java.lang.Object` | `invokeMethod​(java.lang.String name, java.lang.Object args)` | Invokes the given method.
  `void` | `set​(T value)` |
  `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 Details

  - ### Reference

    public Reference()

  - ### Reference

    public Reference​(T value)

- ## Method Details

  - ### 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`
    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`
    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)
    Description copied from interface: `GroovyObject`
    Invokes the given method.
    Specified by:
      `invokeMethod` in interface `GroovyObject`
    Parameters:
      `name` - the name of the method to call
      `args` - the arguments to use for the method call
    Returns:
      the result of invoking the method

  - ### get

    public T get()

  - ### set

    public void set​(T value)