Class DefaultClassInstantiator

java.lang.Object
org.easymock.internal.DefaultClassInstantiator
All Implemented Interfaces:
IClassInstantiator

public class DefaultClassInstantiator extends Object implements IClassInstantiator
Default class instantiator that is pretty limited. It just hope that the mocked class has a public empty constructor.
  • Field Details

    • EMPTY

      private static final Class<?>[] EMPTY
  • Constructor Details

    • DefaultClassInstantiator

      public DefaultClassInstantiator()
  • Method Details

    • newInstance

      public Object newInstance(Class<?> c) throws InstantiationException
      Try to instantiate a class without using a special constructor. See documentation for the algorithm.
      Specified by:
      newInstance in interface IClassInstantiator
      Parameters:
      c - Class to instantiate
      Returns:
      new instance of clazz
      Throws:
      InstantiationException - when an error occured during instantiation
    • isSerializable

      private boolean isSerializable(Class<?> clazz)
      Tells if the provided class is serializable
      Parameters:
      clazz - Class to check
      Returns:
      If the class is serializable
    • getConstructorToUse

      public Constructor<?> getConstructorToUse(Class<?> clazz)
      Return the constructor considered the best to use with this class. Algorithm is: No args constructor and then first constructor defined in the class
      Parameters:
      clazz - Class in which constructor is searched
      Returns:
      Constructor to use
    • getArgsForTypes

      public Object[] getArgsForTypes(Class<?>[] methodTypes) throws InstantiationException
      Get some default instances of provided classes
      Parameters:
      methodTypes - Classes to instantiate
      Returns:
      Instances of methodTypes in order
      Throws:
      InstantiationException - Thrown if the class instantiation fails
    • getSerializedBytes

      private static byte[] getSerializedBytes(Class<?> clazz) throws IOException
      Throws:
      IOException
    • getSerializableUID

      private static Long getSerializableUID(Class<?> clazz)
    • callLongMethod

      private static Long callLongMethod(Class<?> clazz, String methodName)
    • readObject

      private static Object readObject(byte[] bytes) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException