1 /* 2 * Copyright (c) 2016 Mockito contributors 3 * This program is made available under the terms of the MIT License. 4 */ 5 package org.mockito.internal.creation.instance; 6 7 import org.mockito.creation.instance.Instantiator; 8 import org.mockito.mock.MockCreationSettings; 9 import org.mockito.plugins.InstantiatorProvider2; 10 11 public class DefaultInstantiatorProvider implements InstantiatorProvider2 { 12 13 private final static Instantiator INSTANCE = new ObjenesisInstantiator(); 14 15 public Instantiator getInstantiator(MockCreationSettings<?> settings) { 16 if (settings != null && settings.getConstructorArgs() != null) { 17 return new ConstructorInstantiator(settings.getOuterClassInstance() != null, settings.getConstructorArgs()); 18 } else { 19 return INSTANCE; 20 } 21 } 22 } 23