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

Class PCClassLoader

code/src/java/pcgen/gui2/converter/loader/PCClassLoader.java:46–190  ·  view source on GitHub ↗

PCClassLoader is a loader dedicated to converting class and class level data.

Source from the content-addressed store, hash-verified

44 *
45 */
46public class PCClassLoader implements Loader
47{
48 private static final String FIELD_SEPARATOR = "\t"; //$NON-NLS-1$
49 private final EditorLoadContext context;
50 private final Writer changeLogWriter;
51
52 public PCClassLoader(EditorLoadContext lc, Writer changeLogWriter)
53 {
54 context = lc;
55 this.changeLogWriter = changeLogWriter;
56 }
57
58 @Override
59 public List<CDOMObject> process(StringBuilder sb, int line, String lineString, ConversionDecider decider)
60 {
61 List<CDOMObject> list = new ArrayList<>();
62 String[] tokens = lineString.split(FIELD_SEPARATOR);
63 if (tokens.length == 0)
64 {
65 return list;
66 }
67 String firstToken = tokens[0];
68 sb.append(firstToken);
69
70 Class<? extends CDOMObject> buildClass;
71 Class<? extends CDOMObject> buildParent = null;
72 if (firstToken.startsWith("SUBCLASS:"))
73 {
74 buildClass = SubClass.class;
75 }
76 else if (firstToken.startsWith("SUBCLASSLEVEL:"))
77 {
78 buildClass = PCClassLevel.class;
79 buildParent = SubClass.class;
80 }
81 else if (firstToken.startsWith("SUBSTITUTIONCLASS:"))
82 {
83 buildClass = SubstitutionClass.class;
84 }
85 else if (firstToken.startsWith("SUBSTITUTIONLEVEL:"))
86 {
87 buildClass = PCClassLevel.class;
88 buildParent = SubstitutionClass.class;
89 }
90 else if (firstToken.startsWith("CLASS:"))
91 {
92 buildClass = PCClass.class;
93 }
94 else
95 {
96 buildClass = PCClassLevel.class;
97 buildParent = PCClass.class;
98 }
99 for (int tok = 1; tok < tokens.length; tok++)
100 {
101 String token = tokens[tok];
102 sb.append(FIELD_SEPARATOR);
103 if (token.isEmpty())

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected