| /* |
| * Copyright (c) 2007 Mockito contributors |
| * This program is made available under the terms of the MIT License. |
| */ |
| package org.mockito; |
| |
| import java.lang.annotation.*; |
| |
| /** |
| * Allows shorthand {@link org.mockito.ArgumentCaptor} creation on fields. |
| * |
| * <p>Example: |
| * <pre class="code"><code class="java"> |
| * public class Test{ |
| * |
| * @Captor ArgumentCaptor<AsyncCallback<Foo>> captor; |
| * |
| * @Before |
| * public void init(){ |
| * MockitoAnnotations.initMocks(this); |
| * } |
| * |
| * @Test public void shouldDoSomethingUseful() { |
| * //... |
| * verify(mock).doStuff(captor.capture()); |
| * assertEquals("foo", captor.getValue()); |
| * } |
| * } |
| * </code></pre> |
| * |
| * <p> |
| * One of the advantages of using @Captor annotation is that you can avoid warnings related capturing complex generic types. |
| * |
| * @see ArgumentCaptor |
| * @since 1.8.3 |
| */ |
| @Retention(RetentionPolicy.RUNTIME) |
| @Target(ElementType.FIELD) |
| @Documented |
| public @interface Captor {} |