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

Method dealWithFilteredTokens

code/src/java/pcgen/io/ExportHandler.java:1813–2485  ·  view source on GitHub ↗

Helper method for replaceToken, deals with the filter tokens e.g. %DOMAIN, basically returns 0 if we should not be writing something out, e.g. It's filtered out @param aString @param aPC @return 0 If we should not be writing something out

(String aString, PlayerCharacter aPC)

Source from the content-addressed store, hash-verified

1811 * @return 0 If we should not be writing something out
1812 */
1813 private int dealWithFilteredTokens(String aString, PlayerCharacter aPC)
1814 {
1815 // Start by stating that we are allowed to write
1816 canWrite = true;
1817
1818 // Get the merge strategy for equipment for later use
1819 int merge = getEquipmentMergingStrategy(aString);
1820
1821 // Filter out on GAMEMODE
1822 if (aString.substring(1).startsWith("GAMEMODE:"))
1823 {
1824 if (aString.substring(10).endsWith(GameModeToken.getGameModeToken()))
1825 {
1826 canWrite = false;
1827 }
1828 return 0;
1829 }
1830
1831 // Filter out REGION
1832 CharacterDisplay display = aPC.getDisplay();
1833 if ("REGION".equals(aString.substring(1)))
1834 {
1835 if (display.getRegion().isPresent()
1836 && display.getRegion().get().equals(Region.NONE))
1837 {
1838 canWrite = false;
1839 }
1840 return 0;
1841 }
1842
1843 // Filter out NOTES
1844 if ("NOTES".equals(aString.substring(1)))
1845 {
1846 if (aPC.getDisplay().getNotesCount() <= 0)
1847 {
1848 canWrite = false;
1849 }
1850 return 0;
1851 }
1852
1853 // Filter out SKILLPOINTS
1854 if ("SKILLPOINTS".equals(aString.substring(1)))
1855 {
1856 if (SkillpointsToken.getUnusedSkillPoints(aPC) == 0)
1857 {
1858 canWrite = false;
1859 }
1860 return 0;
1861 }
1862
1863 // Filter out TEMPLATE
1864 if (aString.substring(1).startsWith("TEMPLATE"))
1865 {
1866 // New token syntax |%TEMPLATE.x| instead of |%TEMPLATEx|
1867 final StringTokenizer aTok = new StringTokenizer(aString.substring(1), ".");
1868 final List<PCTemplate> tList = new ArrayList<>(aPC.getTemplateSet());
1869 String fString = aTok.nextToken();
1870 final int index;

Callers 1

replaceTokenMethod · 0.95

Calls 15

getGameModeTokenMethod · 0.95
getRegionMethod · 0.95
getUnusedSkillPointsMethod · 0.95
errorPrintMethod · 0.95
getPCListMethod · 0.95
getTypeMethod · 0.95
getCatchPhraseMethod · 0.95
getLocationMethod · 0.95
getSafeStringForMethod · 0.95
getInterestsMethod · 0.95
getSpeechTendencyMethod · 0.95

Tested by

no test coverage detected