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

Method unparse

code/src/java/plugin/lsttokens/ChangeprofLst.java:154–202  ·  view source on GitHub ↗
(LoadContext context, CDOMObject obj)

Source from the content-addressed store, hash-verified

152 }
153
154 @Override
155 public String[] unparse(LoadContext context, CDOMObject obj)
156 {
157 Changes<ChangeProf> changes = context.getObjectContext().getListChanges(obj, ListKey.CHANGEPROF);
158 Collection<ChangeProf> added = changes.getAdded();
159 if (added == null || added.isEmpty())
160 {
161 // Zero indicates no Token
162 return null;
163 }
164 HashMapToList<CDOMGroupRef<WeaponProf>, CDOMReference<WeaponProf>> m = new HashMapToList<>();
165 for (ChangeProf cp : added)
166 {
167 CDOMReference<WeaponProf> source = cp.getSource();
168 CDOMGroupRef<WeaponProf> result = cp.getResult();
169 m.addToListFor(result, source);
170 }
171
172 SortedSet<CDOMReference<WeaponProf>> set = new TreeSet<>(ReferenceUtilities.REFERENCE_SORTER);
173 Set<String> returnSet = new TreeSet<>();
174 for (CDOMGroupRef<WeaponProf> result : m.getKeySet())
175 {
176 StringBuilder sb = new StringBuilder();
177 boolean needComma = false;
178 set.clear();
179 set.addAll(m.getListFor(result));
180 for (CDOMReference<WeaponProf> source : set)
181 {
182 if (needComma)
183 {
184 sb.append(Constants.COMMA);
185 }
186 needComma = true;
187 String sourceLst = source.getLSTformat(false);
188 if (sourceLst.startsWith(Constants.LST_TYPE_EQUAL))
189 {
190 sb.append(Constants.LST_TYPE_DOT);
191 sb.append(sourceLst.substring(5));
192 }
193 else
194 {
195 sb.append(sourceLst);
196 }
197 }
198 sb.append(Constants.EQUALS).append(result.getLSTformat(false).substring(5));
199 returnSet.add(sb.toString());
200 }
201 return new String[]{StringUtil.join(returnSet, Constants.PIPE)};
202 }
203
204 @Override
205 public Class<CDOMObject> getTokenClass()

Callers

nothing calls this directly

Calls 15

joinMethod · 0.95
getListChangesMethod · 0.65
getObjectContextMethod · 0.65
getAddedMethod · 0.65
isEmptyMethod · 0.65
getSourceMethod · 0.65
getResultMethod · 0.65
addToListForMethod · 0.65
getKeySetMethod · 0.65
clearMethod · 0.65
addAllMethod · 0.65
getListForMethod · 0.65

Tested by

no test coverage detected