1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.magicproject.action.handler;
20
21 import net.sf.magicproject.action.context.ActionContextWrapper;
22 import net.sf.magicproject.clickable.ability.Ability;
23 import net.sf.magicproject.event.context.ContextEventListener;
24
25 /***
26 * Represent a rolbackable action that can also be simulated.
27 *
28 * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
29 * @since 0.90
30 */
31 public interface FollowAction extends RollBackAction {
32
33 /***
34 * No generated event. Simulate an action. This action is considered as
35 * completed afterthis call, and th stack resolution should continue.
36 *
37 * @param actionContext
38 * the context containing data saved by this action during the
39 * 'choose" proceess.
40 * @param ability
41 * is the ability owning this test. The card component of this
42 * ability should correspond to the card owning this test too.
43 * @param context
44 * is the context attached to this action.
45 */
46 void simulate(ActionContextWrapper actionContext,
47 ContextEventListener context, Ability ability);
48
49 /***
50 * No generated event. Rollback an action.
51 *
52 * @param actionContext
53 * the context containing data saved by this action during the
54 * 'choose" proceess.
55 * @param ability
56 * is the ability owning this test. The card component of this
57 * ability should correspond to the card owning this test too.
58 * @param context
59 * is the context attached to this action.
60 */
61 void rollback(ActionContextWrapper actionContext,
62 ContextEventListener context, Ability ability);
63
64 }