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, Expando, ExpandoMetaClass.ExpandoMetaConstructor, ExpandoMetaClass.ExpandoMetaProperty, GPathResult, GroovyLog, GroovyMBean, GroovyResultSetExtension, GroovyRowResult, GroovyShell, GString, MessageSource, NullObject, Proxy, Reference, ResultSetMetaDataWrapper, Script

    public abstract class GroovyObjectSupport
    extends Object
    implements GroovyObject

A useful base class for Java objects wishing to be Groovy objects

Version:
  $Revision: 20589 $
Author:
  James Strachan

### Constructor Summary

Constructors
Constructor and Description
`GroovyObjectSupport()`

### Method Summary

Methods
`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 Detail

#### GroovyObjectSupport

    public GroovyObjectSupport()

### Method Detail

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