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

Method parseFollowerLine

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

Source from the content-addressed store, hash-verified

2761 * ###############################################################
2762 */
2763 private void parseFollowerLine(final String line)
2764 {
2765 final PCGTokenizer tokens;
2766
2767 try
2768 {
2769 tokens = new PCGTokenizer(line);
2770 }
2771 catch (PCGParseException pcgpex)
2772 {
2773 final String msg = LanguageBundle.getFormattedString("Warnings.PCGenParser.IllegalFollower", //$NON-NLS-1$
2774 line, pcgpex.getMessage());
2775 warnings.add(msg);
2776
2777 return;
2778 }
2779
2780 final Follower aFollower = new Follower(Constants.EMPTY_STRING, Constants.EMPTY_STRING, null);
2781
2782 for (final PCGElement element : tokens.getElements())
2783 {
2784 final String tag = element.getName();
2785
2786 if (IOConstants.TAG_FOLLOWER.equals(tag))
2787 {
2788 aFollower.setName(EntityEncoder.decode(element.getText()));
2789 }
2790 else if (IOConstants.TAG_TYPE.equals(tag))
2791 {
2792 String cType = EntityEncoder.decode(element.getText());
2793 CompanionList cList = Globals.getContext().getReferenceContext()
2794 .silentlyGetConstructedCDOMObject(CompanionList.class, cType);
2795 if (cList == null)
2796 {
2797 Logging.errorPrint("Cannot find CompanionList: " + cType);
2798 }
2799 else
2800 {
2801 aFollower.setType(cList);
2802 }
2803 }
2804 else if (IOConstants.TAG_RACE.equals(tag))
2805 {
2806 String raceText = EntityEncoder.decode(element.getText());
2807 Race r = Globals.getContext().getReferenceContext().silentlyGetConstructedCDOMObject(Race.class,
2808 raceText);
2809 if (r == null)
2810 {
2811 Logging.errorPrint("Cannot find Race: " + raceText);
2812 }
2813 else
2814 {
2815 aFollower.setRace(r);
2816 }
2817 }
2818 else if (IOConstants.TAG_HITDICE.equals(tag))
2819 {
2820 try

Callers 1

parseCachedLinesMethod · 0.95

Calls 15

getFormattedStringMethod · 0.95
getElementsMethod · 0.95
setNameMethod · 0.95
decodeMethod · 0.95
getContextMethod · 0.95
errorPrintMethod · 0.95
setTypeMethod · 0.95
setRaceMethod · 0.95
setUsedHDMethod · 0.95
makeFilenameAbsoluteMethod · 0.95
setFileNameMethod · 0.95
getFileNameMethod · 0.95

Tested by

no test coverage detected