Groovy Documentation

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, int), java.lang.Object#wait(long), 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