/* * Copyright (c) 2007 Mockito contributors * This program is made available under the terms of the MIT License. */ package org.mockito.plugins; /** * Configures test via annotations. * * <p>Mockito default engine handles the logic behind @Mock, @Captor, @Spy and @InjectMocks annotations. * * <p>This interface is an extension point that make possible to use a different annotation engine allowing to extend * or replace mockito default engine. * * <p> * If you are interested then see implementations or source code of {@link org.mockito.MockitoAnnotations#initMocks(Object)} * * <p>This plugin mechanism supersedes the {@link org.mockito.configuration.IMockitoConfiguration} * in regard of switching mockito components. */ public interface AnnotationEngine { /** * Processes the test instance to configure annotated members. * * @param clazz Class where to extract field information, check implementation for details * @param testInstance Test instance */ void process(Class<?> clazz, Object testInstance); }