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 java.lang.Object
      implements GroovyObject

  A useful base class for Java objects wishing to be Groovy objects
  Author:
    James Strachan

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `GroovyObjectSupport()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `MetaClass` | `getMetaClass()` Returns the metaclass for a given class.
    `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` | `setMetaClass(MetaClass metaClass)` Allows the MetaClass to be replaced with a derived implementation.
    `void` | `setProperty(java.lang.String property, java.lang.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 java.lang.Object getProperty(java.lang.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(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`
      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`
      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