groovy.lang

## Interface GroovyObject

All Known Subinterfaces:
  GroovyInterceptable, GroovyResultSet

All Known Implementing Classes:
  AntBuilder, Attribute, BaseMarkupBuilder, BatchingStatementWrapper, Binding, BindingProxy, BooleanWrapper, Builder, Builder.Built, BuilderSupport, ByteWrapper, CharWrapper, Closure, CurriedClosure, DelegatingMetaClass, DOMBuilder, DoubleWrapper, Expando, ExpandoMetaClass, ExpandoMetaClass.ExpandoMetaConstructor, ExpandoMetaClass.ExpandoMetaProperty, FactoryBuilderSupport, FilteredAttributes, FilteredNodeChildren, FloatWrapper, GPathResult, GroovyLog, GroovyMBean, GroovyObjectSupport, GroovyObjectWrapper, GroovyResultSetExtension, GroovyRowResult, GroovyShell, GString, GStringImpl, HandleMetaClass, IntWrapper, IteratorClosureAdapter, LongWrapper, MarkupBuilder, MessageSource, MethodClosure, MixedInMetaClass, NamespaceBuilderSupport, NoChildren, NodeBuilder, NodeChild, NonEmptySequence, NullObject, ObjectGraphBuilder, OwnedMetaClass, PojoWrapper, Proxy, Reference, ResultSetMetaDataWrapper, SAXBuilder, Script, ScriptReference, Sequence, ServletBinding, ShortWrapper, Wrapper

    public interface GroovyObject

The interface implemented by all Groovy objects.

Especially handy for using Groovy objects when in the Java world.

Version:
  $Revision: 9880 $
Author:
  James Strachan

### Method Summary

Methods
`MetaClass` `getMetaClass()` Returns the metaclass for a given class.
`Object` `getProperty(String propertyName)` 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 propertyName, Object newValue)` Sets the given property to the new value.

### Method Detail

#### invokeMethod

    Object invokeMethod(String name,
                      Object args)

Invokes the given method.

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

#### getProperty

    Object getProperty(String propertyName)

Retrieves a property value.

Parameters:
  `propertyName` - the name of the property of interest
Returns:
  the given property

#### setProperty

    void setProperty(String propertyName,
                   Object newValue)

Sets the given property to the new value.

Parameters:
  `propertyName` - the name of the property of interest
  `newValue` - the new value for the property

#### getMetaClass

    MetaClass getMetaClass()

Returns the metaclass for a given class.

Returns:
  the metaClass of this instance

#### setMetaClass

    void setMetaClass(MetaClass metaClass)

Allows the MetaClass to be replaced with a derived implementation.

Parameters:
  `metaClass` - the new metaclass