MCPcopy Create free account
hub / github.com/PCGen/pcgen / PreRegionTester

Class PreRegionTester

code/src/java/plugin/pretokens/test/PreRegionTester.java:31–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29import pcgen.system.LanguageBundle;
30
31public class PreRegionTester extends AbstractDisplayPrereqTest implements PrerequisiteTest
32{
33
34 @Override
35 public int passes(Prerequisite prereq, Equipment equipment, CharacterDisplay display) throws PrerequisiteException
36 {
37 if (display == null)
38 {
39 return 0;
40 }
41 return passes(prereq, display, equipment);
42 }
43
44 @Override
45 public int passes(final Prerequisite prereq, final CharacterDisplay display, CDOMObject source)
46 throws PrerequisiteException
47 {
48
49 final String requiredRegion = prereq.getKey().toUpperCase();
50 final String characterRegion = display.getFullRegion().toUpperCase();
51
52 final boolean sameRegion = characterRegion.startsWith(requiredRegion);
53
54 int runningTotal;
55 if (prereq.getOperator().equals(PrerequisiteOperator.EQ))
56 {
57 runningTotal = sameRegion ? 1 : 0;
58 }
59 else if (prereq.getOperator().equals(PrerequisiteOperator.NEQ))
60 {
61 runningTotal = sameRegion ? 0 : 1;
62 }
63 else
64 {
65 throw new PrerequisiteException(
66 LanguageBundle.getFormattedString(
67 "PreRegion.error.invalid_comparator", prereq.toString())); //$NON-NLS-1$
68 }
69
70 return countedTotal(prereq, runningTotal);
71 }
72
73 /**
74 * Get the type of prerequisite handled by this token.
75 * @return the type of prerequisite handled by this token.
76 */
77 @Override
78 public String kindHandled()
79 {
80 return "REGION"; //$NON-NLS-1$
81 }
82
83}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected