/* * Copyright (c) 2007 Mockito contributors * This program is made available under the terms of the MIT License. */ package org.mockito.configuration; import org.mockito.MockitoAnnotations; import java.lang.annotation.Annotation; import java.lang.reflect.Field; /** * Configures mock creation logic behind @Mock, @Captor and @Spy annotations *

* If you are interested then see implementations or source code of {@link MockitoAnnotations#initMocks(Object)} */ public interface AnnotationEngine { /** * @deprecated * Please use {@link AnnotationEngine#process(Class, Object)} method instead that is more robust *

* Creates mock, ArgumentCaptor or wraps field instance in spy object. * Only if of correct annotation type. * * @param annotation Annotation * @param field Field details */ @Deprecated Object createMockFor(Annotation annotation, Field field); /** * Allows extending the interface to perform action on specific fields on the test class. *

* See the implementation of this method to figure out what is it for. * * @param clazz Class where to extract field information, check implementation for details * @param testInstance Test instance */ void process(Class clazz, Object testInstance); }