Class DefaultFieldValueGenerator

java.lang.Object
org.powermock.core.DefaultFieldValueGenerator

public class DefaultFieldValueGenerator extends Object
Fills the fields with default not-null values. If a field type is an interface a proxy returning default values for each method will be created. If it's an abstract class a new concrete implementation of that type will created and instantiated at run-time.

There are two scenarios where a field-type cannot possibly be assigned.

  1. When a class contains a field of it's own type, which would lead to infinite recursion, null is assigned.
  2. When the field type is an abstract Java system class with no visible constructor (package-private) null is assigned.
  • Constructor Details

    • DefaultFieldValueGenerator

      public DefaultFieldValueGenerator()
  • Method Details

    • fillWithDefaultValues

      public static <T> T fillWithDefaultValues(T object)
    • instantiateFieldType

      private static Object instantiateFieldType(Field field)
    • isClass

      private static boolean isClass(Class<?> fieldType)
    • substituteKnownProblemTypes

      private static Class<?> substituteKnownProblemTypes(Class<?> fieldType)
      Substitute class types that are known to cause problems when generating them.
      Parameters:
      fieldType -
      Returns:
      A field-type substitute or the original class.