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

Method parseTokenWithSeparator

code/src/java/plugin/lsttokens/GrantLst.java:58–90  ·  view source on GitHub ↗
(LoadContext context, CDOMObject obj, String value)

Source from the content-addressed store, hash-verified

56 }
57
58 @Override
59 protected ParseResult parseTokenWithSeparator(LoadContext context, CDOMObject obj, String value)
60 {
61 if (obj instanceof Ungranted)
62 {
63 return new ParseResult.Fail(
64 "Cannot use " + getTokenName() + " on an Ungranted object type: " + obj.getClass().getSimpleName());
65 }
66 StringTokenizer tok = new StringTokenizer(value, Constants.PIPE);
67 String scope = tok.nextToken();
68 if (!tok.hasMoreTokens())
69 {
70 return new ParseResult.Fail(
71 getTokenName() + " must have identifier(s), " + "Format is: DYNAMICSCOPE|DynamicName: " + value);
72 }
73
74 DynamicCategory cat =
75 context.getReferenceContext().silentlyGetConstructedCDOMObject(DynamicCategory.class, scope);
76 ReferenceManufacturer<Dynamic> rm = context.getReferenceContext().getManufacturerId(cat);
77 if (rm == null)
78 {
79 return new ParseResult.Fail("Could not get Reference Manufacturer for Dynamic Scope: " + scope);
80 }
81
82 while (tok.hasMoreTokens())
83 {
84 String token = tok.nextToken();
85 CDOMReference<Dynamic> dynamic = rm.getReference(token);
86 context.getObjectContext().addToList(obj, ListKey.GRANTED, dynamic);
87 }
88
89 return ParseResult.SUCCESS;
90 }
91
92 @Override
93 public String[] unparse(LoadContext context, CDOMObject obj)

Callers

nothing calls this directly

Calls 10

getTokenNameMethod · 0.95
getSimpleNameMethod · 0.80
nextTokenMethod · 0.80
hasMoreTokensMethod · 0.80
getReferenceContextMethod · 0.65
getReferenceMethod · 0.65
addToListMethod · 0.65
getObjectContextMethod · 0.65
getManufacturerIdMethod · 0.45

Tested by

no test coverage detected