package plugin.exporttokens.deprecated; import pcgen.cdom.base.Constants; import pcgen.cdom.enumeration.PCStringKey; import pcgen.core.PlayerCharacter; import pcgen.io.ExportHandler; import pcgen.io.exporttoken.Token; /** * @author karianna * Class deals with MISC Token */ public class MiscToken extends Token { /** Token name */ public static final String TOKENNAME = "MISC"; /** * @see pcgen.io.exporttoken.Token#getTokenName() */ @Override public String getTokenName() { return TOKENNAME; } /** * @see pcgen.io.exporttoken.Token#getToken(java.lang.String, pcgen.core.PlayerCharacter, pcgen.io.ExportHandler) */ @Override public String getToken(String tokenSource, PlayerCharacter pc, ExportHandler eh) { String tokens[] = tokenSource.split(",", 2); String tokenHead = tokens[0]; String sourceText = "\n"; if(tokens.length == 2) { sourceText = tokens[1]; } String headTokens[] = tokenHead.split("\\."); String subToken = headTokens[1]; PCStringKey key; if ("FUNDS".equals(subToken)) { key = PCStringKey.ASSETS; } else if ("COMPANIONS".equals(subToken)) { key = PCStringKey.COMPANIONS; } else if ("MAGIC".equals(subToken)) { key = PCStringKey.MAGIC; } else { return Constants.EMPTY_STRING; } StringBuilder buf = new StringBuilder(); String[] stringList = pc.getSafeStringFor(key).split("\r?\n"); if (3 == headTokens.length) { buf.append(stringList[Integer.parseInt(headTokens[2])]); } else { // This should be deprecated now // For tags like the following in FOR loops // will add after the ',' at end of each line // |MISC.MAGIC,</fo:block><fo:block font-size="7pt">| for (String str : stringList) { buf.append(str); buf.append(sourceText); } } return buf.toString().trim(); } }