org.jmock.lib
Class JavaReflectionImposteriser
java.lang.Object
org.jmock.lib.JavaReflectionImposteriser
- All Implemented Interfaces:
- Imposteriser
public class JavaReflectionImposteriser
- extends Object
- implements Imposteriser
An Imposteriser
that uses the
Proxy
class of the Java Reflection API.
- Author:
- npryce
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INSTANCE
public static final Imposteriser INSTANCE
JavaReflectionImposteriser
public JavaReflectionImposteriser()
canImposterise
public boolean canImposterise(Class<?> type)
- Description copied from interface:
Imposteriser
- Reports if the Imposteriser is able to imposterise a given type.
- Specified by:
canImposterise
in interface Imposteriser
- Parameters:
type
- The type in question.
- Returns:
- True if this imposteriser can imposterise type, false otherwise.
imposterise
public <T> T imposterise(Invokable mockObject,
Class<T> mockedType,
Class<?>... ancilliaryTypes)
- Description copied from interface:
Imposteriser
- Creates an imposter for a given type that forwards
Invocation
s to an
Invokable
object.
- Specified by:
imposterise
in interface Imposteriser
- Type Parameters:
T
- The static type of the imposter that is created.- Parameters:
mockObject
- The object that is to receive invocations forwarded from the imposter.mockedType
- The class representing the static type of the imposter.ancilliaryTypes
- Other types for the imposter. It must be possible to dynamically cast the imposter to these types.
These types must all be interfaces because Java only allows single inheritance of classes.
- Returns:
- A new imposter. The imposter must implement the mockedType and all the ancialliaryTypes.