org.codehaus.groovy.runtime
Class HandleMetaClass

java.lang.Object
  extended by groovy.lang.DelegatingMetaClass
      extended by org.codehaus.groovy.runtime.HandleMetaClass
All Implemented Interfaces:
GroovyObject, MetaClass, MetaObjectProtocol, MutableMetaClass

public class HandleMetaClass
extends DelegatingMetaClass


Field Summary
 
Fields inherited from class groovy.lang.DelegatingMetaClass
delegate
 
Constructor Summary
HandleMetaClass(MetaClass mc)
           
HandleMetaClass(MetaClass mc, Object obj)
           
 
Method Summary
 void addMetaBeanProperty(MetaBeanProperty metaBeanProperty)
          Adds a new MetaBeanProperty to the MetaClass
 void addMetaMethod(MetaMethod metaMethod)
          Adds a new MetaMethod to the MetaClass
 void addNewInstanceMethod(Method method)
          adds a new instance method to this MetaClass.
 void addNewStaticMethod(Method method)
          adds a new static method to this MetaClass.
 boolean equals(Object obj)
           
 Object getProperty(String property)
          Retrieves a property value.
 void initialize()
          complete the initlialisation process.
 Object invokeMethod(String name, Object args)
          Invokes the given method.
 GroovyObject replaceDelegate()
           
 void setProperty(String property, Object newValue)
          Sets the given property to the new value.
 
Methods inherited from class groovy.lang.DelegatingMetaClass
getAdaptee, getAttribute, getAttribute, getClassNode, getMetaClass, getMetaMethod, getMetaMethods, getMetaProperty, getMethods, getProperties, getProperty, getProperty, getStaticMetaMethod, getStaticMetaMethod, getTheClass, hashCode, hasProperty, invokeConstructor, invokeMethod, invokeMethod, invokeMethod, invokeMissingMethod, invokeMissingProperty, invokeStaticMethod, isGroovyObject, isModified, pickMethod, respondsTo, respondsTo, selectConstructorAndTransformArguments, setAdaptee, setAttribute, setAttribute, setMetaClass, setProperty, setProperty, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HandleMetaClass

public HandleMetaClass(MetaClass mc)

HandleMetaClass

public HandleMetaClass(MetaClass mc,
                       Object obj)
Method Detail

initialize

public void initialize()
Description copied from interface: MetaClass
complete the initlialisation process. After this method is called no methods should be added to the meta class. Invocation of methods or access to fields/proeprties is forbidden unless this method is called. This method should contain any initialisation code, taking a longer time to complete. An example is the creation of the Reflector. It is suggested to synchronize this method.

Specified by:
initialize in interface MetaClass
Overrides:
initialize in class DelegatingMetaClass

replaceDelegate

public GroovyObject replaceDelegate()

invokeMethod

public Object invokeMethod(String name,
                           Object args)
Description copied from interface: GroovyObject
Invokes the given method.

Specified by:
invokeMethod in interface GroovyObject
Overrides:
invokeMethod in class DelegatingMetaClass
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

getProperty

public Object getProperty(String property)
Description copied from interface: GroovyObject
Retrieves a property value.

Specified by:
getProperty in interface GroovyObject
Overrides:
getProperty in class DelegatingMetaClass
Parameters:
property - the name of the property of interest
Returns:
the given property

setProperty

public void setProperty(String property,
                        Object newValue)
Description copied from interface: GroovyObject
Sets the given property to the new value.

Specified by:
setProperty in interface GroovyObject
Overrides:
setProperty in class DelegatingMetaClass
Parameters:
property - the name of the property of interest
newValue - the new value for the property

addNewInstanceMethod

public void addNewInstanceMethod(Method method)
Description copied from interface: MutableMetaClass
adds a new instance method to this MetaClass. Instance methods are able to overwrite the original methods of the class. Calling this method should not be done after initlise was called.

Specified by:
addNewInstanceMethod in interface MutableMetaClass
Overrides:
addNewInstanceMethod in class DelegatingMetaClass
Parameters:
method - the method to be added

addNewStaticMethod

public void addNewStaticMethod(Method method)
Description copied from interface: MutableMetaClass
adds a new static method to this MetaClass. This is only possible as long as initilise was not called.

Specified by:
addNewStaticMethod in interface MutableMetaClass
Overrides:
addNewStaticMethod in class DelegatingMetaClass
Parameters:
method - the method to be added

addMetaMethod

public void addMetaMethod(MetaMethod metaMethod)
Description copied from interface: MutableMetaClass
Adds a new MetaMethod to the MetaClass

Specified by:
addMetaMethod in interface MutableMetaClass
Overrides:
addMetaMethod in class DelegatingMetaClass
Parameters:
metaMethod - The MetaMethod to add

addMetaBeanProperty

public void addMetaBeanProperty(MetaBeanProperty metaBeanProperty)
Description copied from interface: MutableMetaClass
Adds a new MetaBeanProperty to the MetaClass

Specified by:
addMetaBeanProperty in interface MutableMetaClass
Overrides:
addMetaBeanProperty in class DelegatingMetaClass
Parameters:
metaBeanProperty - The MetaBeanProperty instance

equals

public boolean equals(Object obj)
Overrides:
equals in class DelegatingMetaClass

Copyright © 2003-2010 The Codehaus. All rights reserved.