Package org.objenesis

Class ObjenesisBase

java.lang.Object
org.objenesis.ObjenesisBase
All Implemented Interfaces:
Objenesis
Direct Known Subclasses:
ObjenesisSerializer, ObjenesisStd

public class ObjenesisBase extends Object implements Objenesis
Base class to extend if you want to have a class providing your own default strategy. Can also be instantiated directly.
  • Field Details

  • Constructor Details

    • ObjenesisBase

      public ObjenesisBase(InstantiatorStrategy strategy)
      Constructor allowing to pick a strategy and using cache
      Parameters:
      strategy - Strategy to use
    • ObjenesisBase

      public ObjenesisBase(InstantiatorStrategy strategy, boolean useCache)
      Flexible constructor allowing to pick the strategy and if caching should be used
      Parameters:
      strategy - Strategy to use
      useCache - If ObjectInstantiators should be cached
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • newInstance

      public <T> T newInstance(Class<T> clazz)
      Will create a new object without any constructor being called
      Specified by:
      newInstance in interface Objenesis
      Type Parameters:
      T - Type instantiated
      Parameters:
      clazz - Class to instantiate
      Returns:
      New instance of clazz
    • getInstantiatorOf

      public <T> ObjectInstantiator<T> getInstantiatorOf(Class<T> clazz)
      Will pick the best instantiator for the provided class. If you need to create a lot of instances from the same class, it is way more efficient to create them from the same ObjectInstantiator than calling newInstance(Class).
      Specified by:
      getInstantiatorOf in interface Objenesis
      Type Parameters:
      T - Type to instantiate
      Parameters:
      clazz - Class to instantiate
      Returns:
      Instantiator dedicated to the class