1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.magicproject.test;
20
21 import java.io.IOException;
22 import java.io.InputStream;
23
24 import net.sf.magicproject.clickable.ability.Ability;
25 import net.sf.magicproject.clickable.targetable.Targetable;
26 import net.sf.magicproject.tools.MToolKit;
27
28 /***
29 * Test if the ability owning this test is equal to the requested name. This
30 * test may be used in the restriction test of <code>givemana</code> action.
31 *
32 * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
33 * @since 0.86
34 */
35 public class AbilityIs extends Test {
36
37 /***
38 * Create an instance of AbilityIs by reading a file. Offset's file must
39 * pointing on the first byte of this test <br>
40 * <ul>
41 * Structure of InputStream : Data[size]
42 * <li>idTest [1]</li>
43 * <li>ability name +'\0' [...]</li>
44 * </ul>
45 *
46 * @param inputFile
47 * is the file containing this event
48 * @throws IOException
49 * if error occurred during the reading process from the specified
50 * input stream
51 */
52 AbilityIs(InputStream inputFile) throws IOException {
53 super(inputFile);
54 abilityName = MToolKit.readString(inputFile).intern();
55 }
56
57 @Override
58 public boolean test(Ability ability, Targetable tested) {
59 return abilityName.equals(ability.getName());
60 }
61
62 /***
63 * The ability's name to be compared to
64 */
65 private String abilityName;
66
67 }