1 /* 2 * Copyright (c) 2007 Mockito contributors 3 * This program is made available under the terms of the MIT License. 4 */ 5 package org.mockito.configuration; 6 7 import org.mockito.stubbing.Answer; 8 9 public class MockitoConfiguration extends DefaultMockitoConfiguration 10 implements IMockitoConfiguration { 11 12 private Answer<Object> overriddenDefaultAnswer = null; 13 14 private boolean cleansStackTrace; 15 16 private org.mockito.plugins.AnnotationEngine overriddenEngine; 17 18 private boolean enableClassCache = true; 19 20 // for testing purposes, allow to override the configuration overrideDefaultAnswer(Answer<Object> defaultAnswer)21 public void overrideDefaultAnswer(Answer<Object> defaultAnswer) { 22 this.overriddenDefaultAnswer = defaultAnswer; 23 } 24 25 // for testing purposes, allow to override the configuration overrideCleansStackTrace(boolean cleansStackTrace)26 public void overrideCleansStackTrace(boolean cleansStackTrace) { 27 this.cleansStackTrace = cleansStackTrace; 28 } 29 30 // for testing purposes, allow to override the annotation engine overrideAnnotationEngine(org.mockito.plugins.AnnotationEngine engine)31 public void overrideAnnotationEngine(org.mockito.plugins.AnnotationEngine engine) { 32 this.overriddenEngine = engine; 33 } 34 35 // for testing purposes, allow to override the annotation engine overrideEnableClassCache(boolean enableClassCache)36 public void overrideEnableClassCache(boolean enableClassCache) { 37 this.enableClassCache = enableClassCache; 38 } 39 40 @Override getDefaultAnswer()41 public Answer<Object> getDefaultAnswer() { 42 if (overriddenDefaultAnswer == null) { 43 return super.getDefaultAnswer(); 44 } else { 45 return overriddenDefaultAnswer; 46 } 47 } 48 49 @Override cleansStackTrace()50 public boolean cleansStackTrace() { 51 return cleansStackTrace; 52 } 53 54 @Override enableClassCache()55 public boolean enableClassCache() { 56 return enableClassCache; 57 } 58 } 59