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

Class NoChoiceToken

code/src/java/plugin/lsttokens/choose/NoChoiceToken.java:46–251  ·  view source on GitHub ↗

New chooser plugin, handles no Choice.

Source from the content-addressed store, hash-verified

44 * New chooser plugin, handles no Choice.
45 */
46public class NoChoiceToken
47 implements CDOMSecondaryToken<CDOMObject>, ChooseInformation<String>, Chooser<String>, DeferredToken<CDOMObject>
48{
49
50 @Override
51 public String getTokenName()
52 {
53 return "NOCHOICE";
54 }
55
56 @Override
57 public String getParentToken()
58 {
59 return "CHOOSE";
60 }
61
62 @Override
63 public ParseResult parseToken(LoadContext context, CDOMObject obj, String value)
64 {
65 if (value == null)
66 {
67 // No args - legal
68 context.getObjectContext().put(obj, ObjectKey.CHOOSE_INFO, this);
69 return ParseResult.SUCCESS;
70 }
71 return new ParseResult.Fail("CHOOSE:" + getTokenName() + " will ignore arguments: " + value);
72 }
73
74 @Override
75 public String[] unparse(LoadContext context, CDOMObject cdo)
76 {
77 ChooseInformation<?> chooseString = context.getObjectContext().getObject(cdo, ObjectKey.CHOOSE_INFO);
78 if ((chooseString == null) || !chooseString.equals(this))
79 {
80 return null;
81 }
82 return new String[]{""};
83 }
84
85 @Override
86 public Class<CDOMObject> getTokenClass()
87 {
88 return CDOMObject.class;
89 }
90
91 @Override
92 public Class<String> getReferenceClass()
93 {
94 return String.class;
95 }
96
97 @Override
98 public ChoiceManagerList getChoiceManager(ChooseDriver owner, int cost)
99 {
100 return new NoChoiceManager(owner, this, cost);
101 }
102
103 @Override

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected