blob: ecd446177565b7605955f09bc5650298ed4bf434 [file] [log] [blame]
/*
* 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
* <p>
* 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
* <p>
* 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.
* <p>
* 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);
}