Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
BehaviorMethod |
|
| 0.0;0 |
1 | package biz.xsoftware.mock; | |
2 | ||
3 | import java.lang.annotation.ElementType; | |
4 | import java.lang.annotation.Retention; | |
5 | import java.lang.annotation.RetentionPolicy; | |
6 | import java.lang.annotation.Target; | |
7 | ||
8 | /** | |
9 | * This annotation is used to annotate a method inside a {@link Behavior} class | |
10 | * as implementing an interface method in the {@link MockObject}. We'll give a | |
11 | * basic example on how to use this annotation. First we'll need an interface | |
12 | * that will need to be mocked: | |
13 | * | |
14 | * <pre> | |
15 | * public interface MyInterface { | |
16 | * public String myMethod(); | |
17 | * } | |
18 | * </pre> | |
19 | * | |
20 | * Here is the example Behavior implementation with myMethod annotated as a | |
21 | * BehaviorMethod: | |
22 | * | |
23 | * <pre> | |
24 | * public class MyBehavior implements Behavior { | |
25 | * @BehaviorMethod | |
26 | * public String myMethod() { | |
27 | * return "This is the desired behavior"; | |
28 | * } | |
29 | * } | |
30 | * </pre> | |
31 | * | |
32 | * Here is the example of using the Behavior with a MockObject: | |
33 | * | |
34 | * <pre> | |
35 | * public class Example { | |
36 | * public static void main(String... args) { | |
37 | * MockObject myInterface = MockObjectFactory.createMock(MyInterface.class); | |
38 | * myInterface.setBehavior(new MyBehavior()); | |
39 | * System.out.println(((MyInterface) myInterface).myMethod()); | |
40 | * } | |
41 | * } | |
42 | * </pre> | |
43 | * | |
44 | * When this example is run "This is the desired behavior" will be printed to | |
45 | * console. | |
46 | * | |
47 | * @author Brian Freeman | |
48 | */ | |
49 | @Retention(RetentionPolicy.RUNTIME) | |
50 | @Target(ElementType.METHOD) | |
51 | public @interface BehaviorMethod { | |
52 | Class<?> override() default void.class; | |
53 | } |