Package org.codehaus.groovy.runtime
Class ConvertedMap
java.lang.Object
org.codehaus.groovy.runtime.ConversionHandler
org.codehaus.groovy.runtime.ConvertedMap
- All Implemented Interfaces:
java.io.Serializable
,java.lang.reflect.InvocationHandler
public class ConvertedMap extends ConversionHandler
This class is a general adapter to adapt a map of closures to
any Java interface.
- See Also:
- Serialized Form
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConvertedMap(java.util.Map closures)
to create a ConvertedMap object. -
Method Summary
Modifier and Type Method Description protected boolean
checkMethod(java.lang.reflect.Method method)
java.lang.Object
invokeCustom(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
This method is called for all Methods not defined on Object.static boolean
isCoreObjectMethod(java.lang.reflect.Method method)
Checks whether a method is a core method from java.lang.Object.java.lang.String
toString()
Returns a String version of the delegate.Methods inherited from class org.codehaus.groovy.runtime.ConversionHandler
equals, getDelegate, hashCode, invoke, isDefaultMethod
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
ConvertedMap
protected ConvertedMap(java.util.Map closures)to create a ConvertedMap object.- Parameters:
closures
- the map of closures
-
-
Method Details
-
invokeCustom
public java.lang.Object invokeCustom(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.ThrowableDescription copied from class:ConversionHandler
This method is called for all Methods not defined on Object. The delegate should be called here.- Specified by:
invokeCustom
in classConversionHandler
- Parameters:
proxy
- the proxymethod
- the methodargs
- the arguments- Returns:
- the result of the invocation of the delegate
- Throws:
java.lang.Throwable
- any exception causes by the delegate- See Also:
ConversionHandler.invoke(Object, Method, Object[])
,InvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
-
toString
public java.lang.String toString()Description copied from class:ConversionHandler
Returns a String version of the delegate.- Overrides:
toString
in classConversionHandler
- See Also:
Object.toString()
-
checkMethod
protected boolean checkMethod(java.lang.reflect.Method method)- Overrides:
checkMethod
in classConversionHandler
-
isCoreObjectMethod
public static boolean isCoreObjectMethod(java.lang.reflect.Method method)Checks whether a method is a core method from java.lang.Object. Such methods often receive special treatment because they are deemed fundamental enough to not be tampered with. call toString() is an exception to allow overriding toString() by a closure specified in the map- Parameters:
method
- the method to check- Returns:
- true if the method is deemed to be a core method
-