groovy.mock.interceptor
Class MockProxyMetaClass

java.lang.Object
  extended by groovy.lang.MetaClassImpl
      extended by groovy.lang.ProxyMetaClass
          extended by groovy.mock.interceptor.MockProxyMetaClass
All Implemented Interfaces:
groovy.lang.AdaptingMetaClass, groovy.lang.MetaClass, groovy.lang.MetaObjectProtocol, groovy.lang.MutableMetaClass

public class MockProxyMetaClass
extends groovy.lang.ProxyMetaClass

The ProxyMetaClass for the MockInterceptor. Instance and class methods are intercepted, but constructors are not to allow mocking of aggregated objects.

Author:
Dierk Koenig

Nested Class Summary
 
Nested classes/interfaces inherited from class groovy.lang.MetaClassImpl
groovy.lang.MetaClassImpl.Index
 
Field Summary
 boolean interceptConstruction
           
 
Fields inherited from class groovy.lang.ProxyMetaClass
adaptee, interceptor
 
Fields inherited from class groovy.lang.MetaClassImpl
getPropertyMethod, INVOKE_METHOD_METHOD, invokeMethodMethod, isGroovyObject, isMap, metaMethodIndex, METHOD_MISSING, PROPERTY_MISSING, registry, setPropertyMethod, STATIC_METHOD_MISSING, STATIC_PROPERTY_MISSING, theCachedClass, theClass
 
Constructor Summary
MockProxyMetaClass(groovy.lang.MetaClassRegistry registry, Class theClass, groovy.lang.MetaClass adaptee)
           
MockProxyMetaClass(groovy.lang.MetaClassRegistry registry, Class theClass, groovy.lang.MetaClass adaptee, boolean interceptConstruction)
           
 
Method Summary
 Object getProperty(Class aClass, Object object, String property, boolean b, boolean b1)
           
 Object invokeConstructor(Object[] arguments)
          Unlike general impl in superclass, ctors are not intercepted but relayed unless interceptConstruction is set.
 Object invokeMethod(Object object, String methodName, Object[] arguments)
           
 Object invokeStaticMethod(Object object, String methodName, Object[] arguments)
           
static MockProxyMetaClass make(Class theClass)
          convenience factory method for the most usual case.
static MockProxyMetaClass make(Class theClass, boolean interceptConstruction)
          convenience factory method allowing interceptConstruction to be set.
 void setProperty(Class aClass, Object object, String property, Object newValue, boolean b, boolean b1)
           
 
Methods inherited from class groovy.lang.ProxyMetaClass
getAdaptee, getInstance, getInterceptor, initialize, setAdaptee, setInterceptor, use, use
 
Methods inherited from class groovy.lang.MetaClassImpl
addMetaBeanProperty, addMetaMethod, addMetaMethodToIndex, addNewInstanceMethod, addNewStaticMethod, applyPropertyDescriptors, checkIfGroovyObjectMethod, checkInitalised, chooseMethod, clearInvocationCaches, createConstructorSite, createPogoCallCurrentSite, createPogoCallSite, createPojoCallSite, createStaticSite, dropMethodCache, dropStaticMethodCache, findMethodInClassHierarchy, findMixinMethod, findOwnMethod, findPropertyInClassHierarchy, getAdditionalMetaMethods, getAttribute, getAttribute, getAttribute, getClassInfo, getClassNode, getEffectiveGetMetaProperty, getMetaMethod, getMetaMethods, getMetaProperty, getMethods, getMethodWithCaching, getMethodWithoutCaching, getProperties, getProperty, getRegistry, getStaticMetaMethod, getSubclassMetaMethods, getSuperClasses, getTheCachedClass, getTheClass, getVersion, hasProperty, incVersion, invokeMethod, invokeMethod, invokeMissingMethod, invokeMissingProperty, invokeStaticMissingProperty, isGroovyObject, isInitialized, isModified, onGetPropertyFoundInHierarchy, onInvokeMethodFoundInHierarchy, onMixinMethodFound, onSetPropertyFoundInHierarchy, onSuperMethodFoundInHierarchy, onSuperPropertyFoundInHierarchy, pickMethod, respondsTo, respondsTo, retrieveConstructor, retrieveStaticMethod, selectConstructorAndTransformArguments, setAttribute, setAttribute, setProperties, setProperty, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface groovy.lang.MetaClass
getAttribute, getClassNode, getMetaMethods, getMethods, getProperties, invokeMethod, invokeMissingMethod, invokeMissingProperty, pickMethod, selectConstructorAndTransformArguments, setAttribute
 
Methods inherited from interface groovy.lang.MetaObjectProtocol
getAttribute, getMetaMethod, getMetaProperty, getProperty, getStaticMetaMethod, getTheClass, hasProperty, invokeMethod, respondsTo, respondsTo, setAttribute, setProperty
 

Field Detail

interceptConstruction

public final boolean interceptConstruction
Constructor Detail

MockProxyMetaClass

public MockProxyMetaClass(groovy.lang.MetaClassRegistry registry,
                          Class theClass,
                          groovy.lang.MetaClass adaptee)
                   throws IntrospectionException
Parameters:
adaptee - the MetaClass to decorate with interceptability
Throws:
IntrospectionException

MockProxyMetaClass

public MockProxyMetaClass(groovy.lang.MetaClassRegistry registry,
                          Class theClass,
                          groovy.lang.MetaClass adaptee,
                          boolean interceptConstruction)
                   throws IntrospectionException
Parameters:
adaptee - the MetaClass to decorate with interceptability
Throws:
IntrospectionException
Method Detail

make

public static MockProxyMetaClass make(Class theClass)
                               throws IntrospectionException
convenience factory method for the most usual case.

Throws:
IntrospectionException

make

public static MockProxyMetaClass make(Class theClass,
                                      boolean interceptConstruction)
                               throws IntrospectionException
convenience factory method allowing interceptConstruction to be set.

Throws:
IntrospectionException

invokeMethod

public Object invokeMethod(Object object,
                           String methodName,
                           Object[] arguments)
Specified by:
invokeMethod in interface groovy.lang.MetaObjectProtocol
Overrides:
invokeMethod in class groovy.lang.ProxyMetaClass

invokeStaticMethod

public Object invokeStaticMethod(Object object,
                                 String methodName,
                                 Object[] arguments)
Specified by:
invokeStaticMethod in interface groovy.lang.MetaObjectProtocol
Overrides:
invokeStaticMethod in class groovy.lang.ProxyMetaClass

getProperty

public Object getProperty(Class aClass,
                          Object object,
                          String property,
                          boolean b,
                          boolean b1)
Specified by:
getProperty in interface groovy.lang.MetaClass
Overrides:
getProperty in class groovy.lang.ProxyMetaClass

setProperty

public void setProperty(Class aClass,
                        Object object,
                        String property,
                        Object newValue,
                        boolean b,
                        boolean b1)
Specified by:
setProperty in interface groovy.lang.MetaClass
Overrides:
setProperty in class groovy.lang.ProxyMetaClass

invokeConstructor

public Object invokeConstructor(Object[] arguments)
Unlike general impl in superclass, ctors are not intercepted but relayed unless interceptConstruction is set.

Specified by:
invokeConstructor in interface groovy.lang.MetaObjectProtocol
Overrides:
invokeConstructor in class groovy.lang.ProxyMetaClass

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