From: <th...@us...> - 2009-07-17 03:01:14
|
Revision: 10116 http://pcgen.svn.sourceforge.net/pcgen/?rev=10116&view=rev Author: thpr Date: 2009-07-17 03:01:10 +0000 (Fri, 17 Jul 2009) Log Message: ----------- PObjects contain local fields - move to CDOMObject fix for Kit fields Issue#: 2713314 Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/cdom/base/CDOMObject.java Trunk/pcgen/code/src/java/pcgen/cdom/enumeration/ListKey.java Trunk/pcgen/code/src/java/pcgen/cdom/enumeration/MapKey.java Trunk/pcgen/code/src/java/pcgen/cdom/util/MapKeyMap.java Trunk/pcgen/code/src/java/pcgen/core/Kit.java Modified: Trunk/pcgen/code/src/java/pcgen/cdom/base/CDOMObject.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/cdom/base/CDOMObject.java 2009-07-17 02:59:26 UTC (rev 10115) +++ Trunk/pcgen/code/src/java/pcgen/cdom/base/CDOMObject.java 2009-07-17 03:01:10 UTC (rev 10116) @@ -311,9 +311,9 @@ * @param key The key to assign against * @param value The value to be stored. */ - public final <K, V> void addToMapFor(MapKey<K, V> mk, K key, V value) + public final <K, V> V addToMapFor(MapKey<K, V> mk, K key, V value) { - mapChar.addToMapFor(mk, key, value); + return mapChar.addToMapFor(mk, key, value); } /** Modified: Trunk/pcgen/code/src/java/pcgen/cdom/enumeration/ListKey.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/cdom/enumeration/ListKey.java 2009-07-17 02:59:26 UTC (rev 10115) +++ Trunk/pcgen/code/src/java/pcgen/cdom/enumeration/ListKey.java 2009-07-17 03:01:10 UTC (rev 10116) @@ -81,6 +81,7 @@ import pcgen.core.WeaponProf; import pcgen.core.bonus.BonusObj; import pcgen.core.kit.BaseKit; +import pcgen.core.kit.KitStat; import pcgen.persistence.lst.CampaignSourceEntry; import pcgen.persistence.lst.utils.DeferredLine; @@ -251,6 +252,7 @@ public static final ListKey<ObjectKey<?>> REMOVED_OBJECTKEY = new ListKey<ObjectKey<?>>(); public static final ListKey<CDOMReference<Ability>> FEAT_TOKEN_LIST = new ListKey<CDOMReference<Ability>>(); public static final ListKey<ChooseSelectionActor<?>> NEW_CHOOSE_ACTOR = new ListKey<ChooseSelectionActor<?>>(); + public static final ListKey<KitStat> STAT_LIST = new ListKey<KitStat>(); //These are case sensitive, please do not change them to upper case public static final ListKey<String> HIDDEN_Equipment = new ListKey<String>(); Modified: Trunk/pcgen/code/src/java/pcgen/cdom/enumeration/MapKey.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/cdom/enumeration/MapKey.java 2009-07-17 02:59:26 UTC (rev 10115) +++ Trunk/pcgen/code/src/java/pcgen/cdom/enumeration/MapKey.java 2009-07-17 03:01:10 UTC (rev 10116) @@ -27,6 +27,7 @@ import pcgen.cdom.helper.Aspect; import pcgen.cdom.reference.CDOMSingleRef; import pcgen.core.PCClass; +import pcgen.core.kit.KitTable; import pcgen.core.spell.Spell; import pcgen.util.enumeration.AttackType; @@ -61,6 +62,7 @@ public static final MapKey<String, Integer> APPLIED_VARIABLE = new MapKey<String, Integer>(); public static final MapKey<String, String> QUALITY = new MapKey<String, String>(); public static final MapKey<AttackType, Integer> ATTACK_CYCLE = new MapKey<AttackType, Integer>(); + public static final MapKey<String, KitTable> KIT_TABLE = new MapKey<String, KitTable>(); /** * Private constructor to prevent instantiation of this class. Modified: Trunk/pcgen/code/src/java/pcgen/cdom/util/MapKeyMap.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/cdom/util/MapKeyMap.java 2009-07-17 02:59:26 UTC (rev 10115) +++ Trunk/pcgen/code/src/java/pcgen/cdom/util/MapKeyMap.java 2009-07-17 03:01:10 UTC (rev 10116) @@ -102,9 +102,9 @@ * @param value * The value to be added to the List for the given key. */ - public <K, V> void addToMapFor(MapKey<K, V> key1, K key2, V value) + public <K, V> V addToMapFor(MapKey<K, V> key1, K key2, V value) { - map.put(key1, key2, value); + return (V) map.put(key1, key2, value); } /** Modified: Trunk/pcgen/code/src/java/pcgen/core/Kit.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/Kit.java 2009-07-17 02:59:26 UTC (rev 10115) +++ Trunk/pcgen/code/src/java/pcgen/core/Kit.java 2009-07-17 03:01:10 UTC (rev 10116) @@ -23,13 +23,12 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import java.util.HashMap; import java.util.List; -import java.util.Map; import pcgen.base.formula.Formula; import pcgen.cdom.enumeration.KitApply; import pcgen.cdom.enumeration.ListKey; +import pcgen.cdom.enumeration.MapKey; import pcgen.cdom.enumeration.ObjectKey; import pcgen.core.analysis.OutputNameFormatting; import pcgen.core.kit.BaseKit; @@ -51,18 +50,10 @@ */ public final class Kit extends PObject implements Comparable<Object> { - private List<KitStat> statList = new ArrayList<KitStat>(); - private Map<String, KitTable> tableMap = new HashMap<String, KitTable>(); - private int selectValue = -1; private boolean doLevelAbilitiesFlag = true; - public Kit() - { - // - } - /** * Returns the list of base stats that are set by the kit. * @@ -71,7 +62,7 @@ */ public List<KitStat> getStats() { - return statList; + return getListFor(ListKey.STAT_LIST); } /** @@ -110,11 +101,7 @@ { if (kitStat != null) { - if (statList == null) - { - statList = new ArrayList<KitStat>(); - } - statList.add(kitStat); + addToListFor(ListKey.STAT_LIST, kitStat); } } @@ -163,7 +150,7 @@ public void processKit(final PlayerCharacter pc, final List<BaseKit> thingsToAdd, final int kitNo) { - for (KitStat kStat : statList) + for (KitStat kStat : getStats()) { kStat.apply(pc); } @@ -251,7 +238,7 @@ // levels to the PC that the user may choose not to apply. // NOTE: These methods need to be called in the correct order. PlayerCharacter tempPC = (PlayerCharacter) aPC.clone(); - for (KitStat kStat : statList) + for (KitStat kStat : getStats()) { kStat.testApply(this, tempPC, warnings); } @@ -369,11 +356,11 @@ public KitTable getTable(String name) { - return tableMap.get(name); + return get(MapKey.KIT_TABLE, name); } public KitTable addTable(KitTable table) { - return tableMap.put(table.getTableName(), table); + return addToMapFor(MapKey.KIT_TABLE, table.getTableName(), table); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |