org.codehaus.groovy.grails.commons.metaclass
Interface DynamicMethods

All Known Implementing Classes:
AbstractDynamicMethods, AbstractDynamicMethodsInterceptor, DefaultDynamicMethods, DomainClassMethods, GroovyDynamicMethodsInterceptor

public interface DynamicMethods

An interface that defines methods for a handling dynamic method, static method and property invocations

Since:
0.1 Created: Oct 27, 2005
Author:
Graeme Rocher

Method Summary
 void addDynamicConstructor(DynamicConstructor constructor)
          Adds a dynamic constructor
 void addDynamicMethodInvocation(DynamicMethodInvocation methodInvocation)
          Adds a new dynamic method invocation
 void addDynamicProperty(DynamicProperty property)
          Adds a new dynamic property
 void addStaticMethodInvocation(StaticMethodInvocation methodInvocation)
          Adds a new static method invocation
 DynamicMethodInvocation getDynamicMethod(java.lang.String method_signature)
          Retrieves a dynamic method for the specified method name
 DynamicProperty getDynamicProperty(java.lang.String propertyName)
          Retrieves a dynamic property for the specified property name
 java.lang.Object getProperty(java.lang.Object object, java.lang.String propertyName, InvocationCallback callback)
          Attempts to get a dynamic property.
 java.lang.Object invokeConstructor(java.lang.Object[] arguments, InvocationCallback callBack)
          Attempts to invoke a dynamic constructor.
 java.lang.Object invokeMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments, InvocationCallback callback)
          Attempts to invoke a dynamic method with the specified name and arguments If successful the callback object is marked as invoked.
 java.lang.Object invokeStaticMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments, InvocationCallback callBack)
          Attempts to invoke a dynamic static method with the specified name and arguments If successful the callback object is marked as invoked.
 void setProperty(java.lang.Object object, java.lang.String propertyName, java.lang.Object newValue, InvocationCallback callback)
          Attempts to set a dynamic property.
 

Method Detail

addDynamicConstructor

void addDynamicConstructor(DynamicConstructor constructor)
Adds a dynamic constructor

Parameters:
constructor - The constructor to add

addDynamicMethodInvocation

void addDynamicMethodInvocation(DynamicMethodInvocation methodInvocation)
Adds a new dynamic method invocation

Parameters:
methodInvocation -

addStaticMethodInvocation

void addStaticMethodInvocation(StaticMethodInvocation methodInvocation)
Adds a new static method invocation

Parameters:
methodInvocation -

addDynamicProperty

void addDynamicProperty(DynamicProperty property)
Adds a new dynamic property

Parameters:
property -

getDynamicProperty

DynamicProperty getDynamicProperty(java.lang.String propertyName)
Retrieves a dynamic property for the specified property name

Parameters:
propertyName - The name of the property
Returns:
A DynamicProperty instance of null if none exists

getDynamicMethod

DynamicMethodInvocation getDynamicMethod(java.lang.String method_signature)
Retrieves a dynamic method for the specified method name

Parameters:
method_signature - Then signature of the method
Returns:
The method instance or null if non exists

getProperty

java.lang.Object getProperty(java.lang.Object object,
                             java.lang.String propertyName,
                             InvocationCallback callback)
Attempts to get a dynamic property. If successful the InvocationCallback instance is marked as invoked

Parameters:
object - The instance
propertyName - The property name to get
callback - The callback object
Returns:
The property value if it exists

setProperty

void setProperty(java.lang.Object object,
                 java.lang.String propertyName,
                 java.lang.Object newValue,
                 InvocationCallback callback)
Attempts to set a dynamic property. If successful the InvocationCallback instance is marked as invoked

Parameters:
object - The instance
propertyName - The property name to set
callback - The callback object

invokeMethod

java.lang.Object invokeMethod(java.lang.Object object,
                              java.lang.String methodName,
                              java.lang.Object[] arguments,
                              InvocationCallback callback)
Attempts to invoke a dynamic method with the specified name and arguments If successful the callback object is marked as invoked.

Parameters:
object - The instance to invoke on
methodName - The name of the method
arguments - The arguments of the method
callback - The callback object
Returns:
The method return value

invokeStaticMethod

java.lang.Object invokeStaticMethod(java.lang.Object object,
                                    java.lang.String methodName,
                                    java.lang.Object[] arguments,
                                    InvocationCallback callBack)
Attempts to invoke a dynamic static method with the specified name and arguments If successful the callback object is marked as invoked.

Parameters:
object - The instance to invoke on
methodName - The name of the method
arguments - The arguments of the method
callBack - The callback object
Returns:
The method return value

invokeConstructor

java.lang.Object invokeConstructor(java.lang.Object[] arguments,
                                   InvocationCallback callBack)
Attempts to invoke a dynamic constructor. If successful the callback object is marked as invoked.

Parameters:
arguments - The arguments
callBack - The callback object
Returns:
The constructed instance


Copyright (c) 2005-2006 The Grails project