(LoadContext context, CDOMObject obj, String value)
| 50 | } |
| 51 | |
| 52 | @Override |
| 53 | public ParseResult parseToken(LoadContext context, CDOMObject obj, String value) |
| 54 | { |
| 55 | if (obj instanceof Ungranted) |
| 56 | { |
| 57 | return new ParseResult.Fail( |
| 58 | "Cannot use " + getTokenName() + " on an Ungranted object type: " + obj.getClass().getSimpleName()); |
| 59 | } |
| 60 | ParseResult pr = ParseResult.SUCCESS; |
| 61 | if (Constants.LST_DOT_CLEAR.equals(value)) |
| 62 | { |
| 63 | /* |
| 64 | * TODO This cross-polluting and certainly not "editor friendly", |
| 65 | * thus will need to be changed after 5.16 |
| 66 | */ |
| 67 | if (obj instanceof PCClassLevel || obj instanceof PCClass) |
| 68 | { |
| 69 | PCClass pcc; |
| 70 | if (obj instanceof PCClassLevel) |
| 71 | { |
| 72 | pcc = (PCClass) obj.get(ObjectKey.TOKEN_PARENT); |
| 73 | } |
| 74 | else |
| 75 | { |
| 76 | pcc = (PCClass) obj; |
| 77 | } |
| 78 | context.getObjectContext().removeList(pcc, ListKey.UNARMED_DAMAGE); |
| 79 | for (PCClassLevel level : pcc.getOriginalClassLevelCollection()) |
| 80 | { |
| 81 | context.getObjectContext().removeList(level, ListKey.UNARMED_DAMAGE); |
| 82 | } |
| 83 | } |
| 84 | else |
| 85 | { |
| 86 | context.getObjectContext().removeList(obj, ListKey.UNARMED_DAMAGE); |
| 87 | } |
| 88 | } |
| 89 | else |
| 90 | { |
| 91 | pr = checkForIllegalSeparator(',', value); |
| 92 | if (!pr.passed()) |
| 93 | { |
| 94 | return pr; |
| 95 | } |
| 96 | final StringTokenizer tok = new StringTokenizer(value, Constants.COMMA); |
| 97 | if (context.getObjectContext().containsListFor(obj, ListKey.UNARMED_DAMAGE)) |
| 98 | { |
| 99 | ComplexParseResult cpr = new ComplexParseResult(); |
| 100 | cpr.addWarningMessage(obj.getDisplayName() + " already has " + getTokenName() + " set."); |
| 101 | cpr.addWarningMessage( |
| 102 | " It will be redefined, " + "but you should be using " + getTokenName() + ":.CLEAR"); |
| 103 | pr = cpr; |
| 104 | context.getObjectContext().removeList(obj, ListKey.UNARMED_DAMAGE); |
| 105 | } |
| 106 | while (tok.hasMoreTokens()) |
| 107 | { |
| 108 | context.getObjectContext().addToList(obj, ListKey.UNARMED_DAMAGE, tok.nextToken()); |
| 109 | } |
nothing calls this directly
no test coverage detected