Gant 1.9.6

org.codehaus.gant
[Java] Class GantMetaClass

java.lang.Object
  groovy.lang.DelegatingMetaClass
      org.codehaus.gant.GantMetaClass

public class GantMetaClass
extends groovy.lang.DelegatingMetaClass

This class is the metaclass used for target Closures, and any enclosed Closures.

This metaclass deals with depends method calls and redirects unknown method calls to the instance of GantBuilder. To process the depends all closures from the binding called during execution of the Gant specification must be logged so that when a depends happens the full closure call history is available.

Authors:
Russel Winder


Constructor Summary
GantMetaClass(groovy.lang.MetaClass metaClass, GantBinding binding)

 
Method Summary
java.lang.Object invokeMethod(java.lang.Object object, java.lang.String methodName, Object[] arguments)

Invokes a method on the given object with the given name and arguments.

java.lang.Object invokeMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)

Invokes a method on the given object, with the given name and single argument.

java.lang.Object invokeMethod(java.lang.String name, java.lang.Object args)

Invoke the given method.

java.lang.Object invokeMethod(java.lang.Class sender, java.lang.Object receiver, java.lang.String methodName, Object[] arguments, boolean isCallToSuper, boolean fromInsideClass)

Invoke a method on the given receiver for the specified arguments.

 
Methods inherited from class groovy.lang.DelegatingMetaClass
groovy.lang.DelegatingMetaClass#setProperty(java.lang.Object, java.lang.String, java.lang.Object), groovy.lang.DelegatingMetaClass#setProperty(java.lang.Class, java.lang.Object, java.lang.String, java.lang.Object, boolean, boolean), groovy.lang.DelegatingMetaClass#setProperty(java.lang.String, java.lang.Object), groovy.lang.DelegatingMetaClass#getProperty(java.lang.Object, java.lang.String), groovy.lang.DelegatingMetaClass#getProperty(java.lang.Class, java.lang.Object, java.lang.String, boolean, boolean), groovy.lang.DelegatingMetaClass#getProperty(java.lang.String), groovy.lang.DelegatingMetaClass#equals(java.lang.Object), groovy.lang.DelegatingMetaClass#toString(), groovy.lang.DelegatingMetaClass#hashCode(), groovy.lang.DelegatingMetaClass#initialize(), groovy.lang.DelegatingMetaClass#getMethods(), groovy.lang.DelegatingMetaClass#getProperties(), groovy.lang.DelegatingMetaClass#getAttribute(java.lang.Object, java.lang.String), groovy.lang.DelegatingMetaClass#getAttribute(java.lang.Class, java.lang.Object, java.lang.String, boolean), groovy.lang.DelegatingMetaClass#getMetaClass(), groovy.lang.DelegatingMetaClass#setMetaClass(groovy.lang.MetaClass), groovy.lang.DelegatingMetaClass#invokeMethod(java.lang.Object, java.lang.String, java.lang.Object), groovy.lang.DelegatingMetaClass#invokeMethod(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.DelegatingMetaClass#invokeMethod(java.lang.Class, java.lang.Object, java.lang.String, [Ljava.lang.Object;, boolean, boolean), groovy.lang.DelegatingMetaClass#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.DelegatingMetaClass#hasProperty(java.lang.Object, java.lang.String), groovy.lang.DelegatingMetaClass#getTheClass(), groovy.lang.DelegatingMetaClass#invokeStaticMethod(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.DelegatingMetaClass#selectConstructorAndTransformArguments(int, [Ljava.lang.Object;), groovy.lang.DelegatingMetaClass#setAttribute(java.lang.Object, java.lang.String, java.lang.Object), groovy.lang.DelegatingMetaClass#setAttribute(java.lang.Class, java.lang.Object, java.lang.String, java.lang.Object, boolean, boolean), groovy.lang.DelegatingMetaClass#invokeConstructor([Ljava.lang.Object;), groovy.lang.DelegatingMetaClass#respondsTo(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.DelegatingMetaClass#respondsTo(java.lang.Object, java.lang.String), groovy.lang.DelegatingMetaClass#invokeMissingMethod(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.DelegatingMetaClass#invokeMissingProperty(java.lang.Object, java.lang.String, java.lang.Object, boolean), groovy.lang.DelegatingMetaClass#getClassNode(), groovy.lang.DelegatingMetaClass#getMetaMethods(), groovy.lang.DelegatingMetaClass#pickMethod(java.lang.String, [Ljava.lang.Class;), groovy.lang.DelegatingMetaClass#getMetaProperty(java.lang.String), groovy.lang.DelegatingMetaClass#getStaticMetaMethod(java.lang.String, [Ljava.lang.Object;), groovy.lang.DelegatingMetaClass#getStaticMetaMethod(java.lang.String, [Ljava.lang.Class;), groovy.lang.DelegatingMetaClass#getMetaMethod(java.lang.String, [Ljava.lang.Object;), groovy.lang.DelegatingMetaClass#getAdaptee(), groovy.lang.DelegatingMetaClass#setAdaptee(groovy.lang.MetaClass), groovy.lang.DelegatingMetaClass#addMetaBeanProperty(groovy.lang.MetaBeanProperty), groovy.lang.DelegatingMetaClass#isModified(), groovy.lang.DelegatingMetaClass#isGroovyObject(), groovy.lang.DelegatingMetaClass#addNewInstanceMethod(java.lang.reflect.Method), groovy.lang.DelegatingMetaClass#addNewStaticMethod(java.lang.reflect.Method), groovy.lang.DelegatingMetaClass#addMetaMethod(groovy.lang.MetaMethod), groovy.lang.DelegatingMetaClass#wait(long), groovy.lang.DelegatingMetaClass#wait(long, int), groovy.lang.DelegatingMetaClass#wait(), groovy.lang.DelegatingMetaClass#getClass(), groovy.lang.DelegatingMetaClass#notify(), groovy.lang.DelegatingMetaClass#notifyAll()
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), 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()
 

Constructor Detail

GantMetaClass

public GantMetaClass(groovy.lang.MetaClass metaClass, GantBinding binding)


 
Method Detail

invokeMethod

@Override
public java.lang.Object invokeMethod(java.lang.Object object, java.lang.String methodName, Object[] arguments)
Invokes a method on the given object with the given name and arguments. The MetaClass will attempt to pick the best method for the given name and arguments. If a method cannot be invoked a MissingMethodException will be thrown.
Parameters:
object - The instance on which the method is invoked.
methodName - The name of the method.
arguments - The arguments to the method.
Returns:
The return value of the method which is null if the return type is void.
See Also:
groovy.lang.MissingMethodException


invokeMethod

@Override
public java.lang.Object invokeMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
Invokes a method on the given object, with the given name and single argument.
Parameters:
object - The Object to invoke the method on
methodName - The name of the method
arguments - The argument to the method
Returns:
The return value of the method which is null if the return type is void
See Also:
invokeMethod(Object, String, Object[])


invokeMethod

@Override
public java.lang.Object invokeMethod(java.lang.String name, java.lang.Object args)
Invoke 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


invokeMethod

@Override
public java.lang.Object invokeMethod(java.lang.Class sender, java.lang.Object receiver, java.lang.String methodName, Object[] arguments, boolean isCallToSuper, boolean fromInsideClass)
Invoke a method on the given receiver for the specified arguments. The sender is the class that invoked the method on the object. Attempt to establish the method to invoke based on the name and arguments provided.

The isCallToSuper and fromInsideClass help the Groovy runtime perform optimizations on the call to go directly to the superclass if necessary.

Parameters:
sender - The java.lang.Class instance that invoked the method.
receiver - The object which the method was invoked on.
methodName - The name of the method.
arguments - The arguments to the method.
isCallToSuper - Whether the method is a call to a superclass method.
fromInsideClass - Whether the call was invoked from the inside or the outside of the class.
Returns:
The return value of the method


 

Copyright © 2006–9 The Codehaus. All Rights Reserved.