Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.groovy.grails.commons
[Java] Class GrailsMetaClassUtils

    java.lang.Object
      org.codehaus.groovy.grails.commons.GrailsMetaClassUtils

    public class GrailsMetaClassUtils
    extends java.lang.Object

Provides utility methods for working with the Groovy MetaClass API.

Authors:
  Graeme Rocher

Since:
  0.5

Method Summary
`static void` | `copyExpandoMetaClass(java.lang.Class fromClass, java.lang.Class toClass, boolean removeSource)` Copies the ExpandoMetaClass dynamic methods and properties from one Class to another.
`static groovy.lang.ExpandoMetaClass` | `getExpandoMetaClass(java.lang.Class aClass)`
`static groovy.lang.MetaClass` | `getMetaClass(java.lang.Object instance)`
`static java.lang.Object` | `getPropertyIfExists(java.lang.Object instance, java.lang.String property)` Obtains a property of an instance if it exists
`static java.lang.Object` | `getPropertyIfExists(java.lang.Object instance, java.lang.String property, java.lang.Class requiredType)` Obtains a property of an instance if it exists
`static groovy.lang.MetaClassRegistry` | `getRegistry()` Retrieves the MetaClassRegistry instance.
`static java.lang.Object` | `invokeMethodIfExists(java.lang.Object instance, java.lang.String methodName)` Invokes a method if it exists otherwise returns null
`static java.lang.Object` | `invokeMethodIfExists(java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args)` Invokes a method if it exists otherwise returns null

Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Method Detail

### copyExpandoMetaClass

    @SuppressWarnings({ "unchecked", "rawtypes" })
    public static void copyExpandoMetaClass(java.lang.Class fromClass, java.lang.Class toClass, boolean removeSource)

  Copies the ExpandoMetaClass dynamic methods and properties from one Class to another.
  Parameters:
    `fromClass` - The source class
    `toClass` - The destination class
    `removeSource` - Whether to remove the source class after completion. True if yes

### getExpandoMetaClass

    public static groovy.lang.ExpandoMetaClass getExpandoMetaClass(java.lang.Class aClass)

### getMetaClass

    public static groovy.lang.MetaClass getMetaClass(java.lang.Object instance)

### getPropertyIfExists

    public static java.lang.Object getPropertyIfExists(java.lang.Object instance, java.lang.String property)

  Obtains a property of an instance if it exists
  Parameters:
    `instance` - The instance
    `property` - The property
  Returns:
    The value of null if non-exists

### getPropertyIfExists

    public static  T getPropertyIfExists(Object instance, String property, Class requiredType) {
    public static java.lang.Object getPropertyIfExists(java.lang.Object instance, java.lang.String property, java.lang.Class requiredType)

  Obtains a property of an instance if it exists
  Parameters:
    `instance` - The instance
    `property` - The property
    `requiredType` - The required type of the property
  Returns:
    The property value

### getRegistry

    public static groovy.lang.MetaClassRegistry getRegistry()

  Retrieves the MetaClassRegistry instance.
  Returns:
    The registry

### invokeMethodIfExists

    public static java.lang.Object invokeMethodIfExists(java.lang.Object instance, java.lang.String methodName)

  Invokes a method if it exists otherwise returns null
  Parameters:
    `instance` - The instance
    `methodName` - The method name
  Returns:
    The result of the method call or null

### invokeMethodIfExists

    public static java.lang.Object invokeMethodIfExists(java.lang.Object instance, java.lang.String methodName, java.lang.Object[] args)

  Invokes a method if it exists otherwise returns null
  Parameters:
    `instance` - The instance
    `methodName` - The method name
    `args` - The arguments
  Returns:
    The result of the method call or null

Groovy Documentation