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

Method parseTemplateLine

code/src/java/pcgen/io/PCGVer2Parser.java:4257–4395  ·  view source on GitHub ↗
(final String line)

Source from the content-addressed store, hash-verified

4255 * ###############################################################
4256 */
4257 private void parseTemplateLine(final String line) throws PCGParseException
4258 {
4259 if (line.charAt(IOConstants.TAG_TEMPLATESAPPLIED.length() + 1) == '[')
4260 {
4261 final PCGTokenizer tokens;
4262
4263 try
4264 {
4265 tokens = new PCGTokenizer(line);
4266 }
4267 catch (PCGParseException pcgpex)
4268 {
4269 final String message = "Illegal Template line ignored: " + line + Constants.LINE_SEPARATOR + "Error: "
4270 + pcgpex.getMessage();
4271 warnings.add(message);
4272
4273 return;
4274 }
4275
4276 PCTemplate aPCTemplate = null;
4277
4278 Iterator<PCGElement> it = tokens.getElements().iterator();
4279
4280 if (it.hasNext())
4281 {
4282 final PCGElement element = it.next();
4283
4284 String assoc = null;
4285 //Must deal with APPLIEDTO first (before item is added to the PC)
4286 for (final PCGElement child : element.getChildren())
4287 {
4288 String childTag = child.getName();
4289 if (IOConstants.TAG_NAME.equals(childTag))
4290 {
4291 aPCTemplate = Globals.getContext().getReferenceContext()
4292 .silentlyGetConstructedCDOMObject(PCTemplate.class, EntityEncoder.decode(child.getText()));
4293
4294 if (aPCTemplate == null)
4295 {
4296 break;
4297 }
4298 }
4299 else if (IOConstants.TAG_APPLIEDTO.equals(childTag))
4300 {
4301 assoc = child.getText();
4302 }
4303 }
4304
4305 for (final PCGElement child : element.getChildren())
4306 {
4307 final String childTag = child.getName();
4308
4309 if (IOConstants.TAG_NAME.equals(childTag))
4310 {
4311 if (aPCTemplate == null)
4312 {
4313 break;
4314 }

Callers 1

parseCachedLinesMethod · 0.95

Calls 15

getElementsMethod · 0.95
getChildrenMethod · 0.95
getContextMethod · 0.95
decodeMethod · 0.95
addKeyedTemplateMethod · 0.95
getTemplateForMethod · 0.95
getFormattedStringMethod · 0.95
parseAddTokenInfoMethod · 0.95
addTemplateFeatMethod · 0.80
setTemplatesAddedMethod · 0.80

Tested by

no test coverage detected