Package org.objenesis

Class 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.
    Author:
    Henri Tremblay
    • Constructor Detail

      • 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 Detail

      • 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