Class ByteBuddyClassImposteriser

java.lang.Object
org.jmock.imposters.ByteBuddyClassImposteriser
All Implemented Interfaces:
Imposteriser

public class ByteBuddyClassImposteriser extends Object implements Imposteriser
This class lets you imposterise abstract and concrete classes without calling the constructors of the mocked class.
  • Field Details

  • Constructor Details

    • ByteBuddyClassImposteriser

      private ByteBuddyClassImposteriser()
  • Method Details

    • 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 Invocations 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.
    • toStringMethodIsFinal

      private boolean toStringMethodIsFinal(Class<?> type)
    • setConstructorsAccessible

      private void setConstructorsAccessible(Class<?> mockedType, boolean accessible)
    • proxy

      private <T> T proxy(Invokable mockObject, Class<T> mockedType, Class<?>... ancilliaryTypes)
    • proxyClass

      private Class<?> proxyClass(Invokable mockObject, Class<?> mockedType, Class<?>... ancilliaryTypes) throws ClassNotFoundException, IllegalAccessException, InvocationTargetException, NoSuchMethodException
      Throws:
      ClassNotFoundException
      IllegalAccessException
      InvocationTargetException
      NoSuchMethodException
    • mockTypeKey

      private Set<Class<?>> mockTypeKey(Class<?> mockedType, Class<?>... ancilliaryTypes)
    • defaultPackage

      private boolean defaultPackage(Class<?> mockedType)
    • protectedPackageNameSpaces

      private boolean protectedPackageNameSpaces(Class<?> mockedType)