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

Class RaceSubTypeToken

code/src/java/plugin/primitive/race/RaceSubTypeToken.java:36–110  ·  view source on GitHub ↗

RaceSubTypeToken is a Primitive that filters based on the RaceSubType of a Race.

Source from the content-addressed store, hash-verified

34 * RaceSubTypeToken is a Primitive that filters based on the RaceSubType of a Race.
35 */
36public class RaceSubTypeToken implements PrimitiveToken<Race>, PrimitiveFilter<Race>
37{
38
39 private static final Class<Race> RACE_CLASS = Race.class;
40 private RaceSubType racetype;
41 private CDOMReference<Race> allRaces;
42
43 @Override
44 public boolean initialize(LoadContext context, Class<Race> cl, String value, String args)
45 {
46 if (args != null)
47 {
48 return false;
49 }
50 racetype = RaceSubType.getConstant(value);
51 allRaces = context.getReferenceContext().getCDOMAllReference(RACE_CLASS);
52 return true;
53 }
54
55 @Override
56 public String getTokenName()
57 {
58 return "RACESUBTYPE";
59 }
60
61 @Override
62 public Class<Race> getReferenceClass()
63 {
64 return RACE_CLASS;
65 }
66
67 @Override
68 public String getLSTformat(boolean useAny)
69 {
70 return getTokenName() + '=' + racetype.toString();
71 }
72
73 @Override
74 public boolean allow(PlayerCharacter pc, Race race)
75 {
76 return race.containsInList(ListKey.RACESUBTYPE, racetype);
77 }
78
79 @Override
80 public GroupingState getGroupingState()
81 {
82 return GroupingState.ANY;
83 }
84
85 @Override
86 public boolean equals(Object obj)
87 {
88 if (obj == this)
89 {
90 return true;
91 }
92 if (obj instanceof RaceSubTypeToken other)
93 {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected