## org.jmock.api
Interface Imposteriser

All Known Implementing Classes:
  ClassImposteriser, JavaReflectionImposteriser

    public interface Imposteriser

An object that can creates a proxy of the given type to capture `Invocation`s and pass them to an `Invokable` object for mocking or stubbing.

Author:
  npryce

Method Summary
`boolean` `canImposterise(Class<?> type)` Reports if the Imposteriser is able to imposterise a given type.

`

`<T> T`

`

`imposterise(Invokable mockObject, Class<T> mockedType, Class<?>... ancilliaryTypes)`
Creates an imposter for a given type that forwards `Invocation`s to an `Invokable` object.

Method Detail

### canImposterise

    boolean canImposterise(Class<?> type)

  Reports if the Imposteriser is able to imposterise a given type.

  Parameters:
    `type` - The type in question.
  Returns:
    True if this imposteriser can imposterise type, false otherwise.

### imposterise

    <T> T imposterise(Invokable mockObject,
                      Class<T> mockedType,
                      Class<?>... ancilliaryTypes)

  Creates an imposter for a given type that forwards `Invocation`s to an `Invokable` object.

  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.