Package groovy.lang

## Class Reference<T>

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

- All Implemented Interfaces:
    `GroovyObject`, `Serializable`
  Direct Known Subclasses:
    `ScriptReference`

      public class Reference<T>
      extends GroovyObjectSupport
      implements Serializable

  Represents a reference to a value
  See Also:
    Serialized Form

- - ### Constructor Summary

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

  - ### Method Summary

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

    - #### Reference

          public Reference()

    - #### Reference

          public Reference​(T value)

  - ### Method Detail

    - #### getProperty

          public Object getProperty​(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​(String property,
                                  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 Object invokeMethod​(String name,
                                     Object args)

      Description copied from interface: `GroovyObject`
      Invokes the given method.
      Specified by:
        `invokeMethod` in interface `GroovyObject`
      Overrides:
        `invokeMethod` in class `GroovyObjectSupport`
      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)