Package groovy.lang

# Class GroovyObjectSupport

java.lang.Object
groovy.lang.GroovyObjectSupport

All Implemented Interfaces:
  `GroovyObject`

Direct Known Subclasses:
  `BatchingStatementWrapper`, `Binding`, `BindingProxy`, `Builder`, `Builder.Built`, `BuilderSupport`, `Closure`, `ConfigObject`, `Expando`, `ExpandoMetaClass.ExpandoMetaConstructor`, `ExpandoMetaClass.ExpandoMetaProperty`, `GPathResult`, `GroovyMBean`, `GroovyResultSetExtension`, `GroovyRowResult`, `GroovyShell`, `GString`, `JsonBuilder`, `JsonDelegate`, `MessageSource`, `NullObject`, `Proxy`, `Reference`, `ResultSetMetaDataWrapper`, `Script`, `StreamingJsonBuilder`, `StreamingJsonBuilder.StreamingJsonDelegate`

public abstract class GroovyObjectSupport extends Object implements GroovyObject
A useful base class for Java objects wishing to be Groovy objects

Author:
  James Strachan

## Constructor Summary

Constructors
Constructor
Description
`GroovyObjectSupport()`

## Method Summary

Modifier and Type
Method
Description
`MetaClass`
`getMetaClass()`
Returns the metaclass for a given class.
`Object`
`getProperty(String property)`
Retrieves a property value.
`Object`
`invokeMethod(String name, Object args)`
Invokes the given method.
`void`
`setMetaClass(MetaClass metaClass)`
Allows the MetaClass to be replaced with a derived implementation.
`void`
`setProperty(String property, Object newValue)`
Sets the given property to the new value.

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

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

## Constructor Details

### GroovyObjectSupport

public GroovyObjectSupport()

## Method Details

### getProperty

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

### getMetaClass

public MetaClass getMetaClass()
Description copied from interface: `GroovyObject`
Returns the metaclass for a given class.

Specified by:
  `getMetaClass` in interface `GroovyObject`
Returns:
  the metaClass of this instance

### setMetaClass

public void setMetaClass(MetaClass metaClass)
Description copied from interface: `GroovyObject`
Allows the MetaClass to be replaced with a derived implementation.

Specified by:
  `setMetaClass` in interface `GroovyObject`
Parameters:
  `metaClass` - the new metaclass