(final String line)
| 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 |
no test coverage detected