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

Author:
  James Strachan
See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`Reference()`
`Reference(T value)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

#### Reference

    public Reference()

#### Reference

    public Reference(T value)

### Method Detail

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

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)