From: <boo...@us...> - 2006-06-09 03:26:44
|
Revision: 1060 Author: boomer70 Date: 2006-06-08 20:25:16 -0700 (Thu, 08 Jun 2006) ViewCVS: http://svn.sourceforge.net/pcgen/?rev=1060&view=rev Log Message: ----------- Lots of changes to clean up code and update to 1.5 syntax. More changes still to come. Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/core/Ability.java Trunk/pcgen/code/src/java/pcgen/core/AbilityStore.java Trunk/pcgen/code/src/java/pcgen/core/AbilityUtilities.java Trunk/pcgen/code/src/java/pcgen/core/Campaign.java Trunk/pcgen/code/src/java/pcgen/core/CategorisableStore.java Trunk/pcgen/code/src/java/pcgen/core/DamageReduction.java Trunk/pcgen/code/src/java/pcgen/core/Deity.java Trunk/pcgen/code/src/java/pcgen/core/Domain.java Trunk/pcgen/code/src/java/pcgen/core/Equipment.java Trunk/pcgen/code/src/java/pcgen/core/EquipmentChoice.java Trunk/pcgen/code/src/java/pcgen/core/EquipmentList.java Trunk/pcgen/code/src/java/pcgen/core/EquipmentModifier.java Trunk/pcgen/code/src/java/pcgen/core/EquipmentUtilities.java Trunk/pcgen/code/src/java/pcgen/core/FeatMultipleChoice.java Trunk/pcgen/code/src/java/pcgen/core/GameMode.java Trunk/pcgen/code/src/java/pcgen/core/Globals.java Trunk/pcgen/code/src/java/pcgen/core/PCClass.java Trunk/pcgen/code/src/java/pcgen/core/PCTemplate.java Trunk/pcgen/code/src/java/pcgen/core/PObject.java Trunk/pcgen/code/src/java/pcgen/core/PObjectDataStore.java Trunk/pcgen/code/src/java/pcgen/core/PObjectUtilities.java Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java Trunk/pcgen/code/src/java/pcgen/core/PointBuyMethod.java Trunk/pcgen/code/src/java/pcgen/core/Race.java Trunk/pcgen/code/src/java/pcgen/core/Skill.java Trunk/pcgen/code/src/java/pcgen/core/SpellSupport.java Trunk/pcgen/code/src/java/pcgen/core/StatList.java Trunk/pcgen/code/src/java/pcgen/core/SystemCollections.java Trunk/pcgen/code/src/java/pcgen/core/VariableList.java Trunk/pcgen/code/src/java/pcgen/core/bonus/BonusObj.java Trunk/pcgen/code/src/java/pcgen/core/bonus/BonusUtilities.java Trunk/pcgen/code/src/java/pcgen/core/character/CompanionMod.java Trunk/pcgen/code/src/java/pcgen/core/character/SpellInfo.java Trunk/pcgen/code/src/java/pcgen/core/chooser/AbilityFromTemplateChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/AbstractCategorisableChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/AbstractComplexChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/AbstractSimpleChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/ArmorTypeChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/ChoiceManagerCategorisable.java Trunk/pcgen/code/src/java/pcgen/core/chooser/ChoiceManagerList.java Trunk/pcgen/code/src/java/pcgen/core/chooser/ChooserUtilities.java Trunk/pcgen/code/src/java/pcgen/core/chooser/ClassSkillsChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/DomainChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/EquipmentTypeChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/FeatAddChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/FeatChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/FeatListChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/FeatSelectChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/HPChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/ProficiencyChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/SpellLevelChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/chooser/WeaponProfChoiceManager.java Trunk/pcgen/code/src/java/pcgen/core/kit/KitAbilities.java Trunk/pcgen/code/src/java/pcgen/core/levelability/LevelAbilityClassSkills.java Trunk/pcgen/code/src/java/pcgen/core/pclevelinfo/PCLevelInfo.java Trunk/pcgen/code/src/java/pcgen/core/prereq/PrereqHandler.java Trunk/pcgen/code/src/java/pcgen/core/spell/PCSpellTracker.java Trunk/pcgen/code/src/java/pcgen/core/spell/Spell.java Trunk/pcgen/code/src/java/pcgen/core/utils/EmptyIterator.java Trunk/pcgen/code/src/java/pcgen/core/utils/KeyedListContainer.java Trunk/pcgen/code/src/java/pcgen/core/utils/ListKey.java Trunk/pcgen/code/src/java/pcgen/core/utils/ListKeyMapToList.java Trunk/pcgen/code/src/java/pcgen/gui/FrameActionListener.java Trunk/pcgen/code/src/java/pcgen/gui/LstEditorMain.java Trunk/pcgen/code/src/java/pcgen/gui/MainPopupMenu.java Trunk/pcgen/code/src/java/pcgen/gui/PCGen_Frame1.java Trunk/pcgen/code/src/java/pcgen/gui/PCPopupMenu.java Trunk/pcgen/code/src/java/pcgen/gui/PToolBar.java Trunk/pcgen/code/src/java/pcgen/gui/editor/EditorMainForm.java Trunk/pcgen/code/src/java/pcgen/gui/editor/SkillBasePanel.java Trunk/pcgen/code/src/java/pcgen/gui/filter/FilterFactory.java Trunk/pcgen/code/src/java/pcgen/gui/prop/LanguageBundle.properties Trunk/pcgen/code/src/java/pcgen/gui/tabs/InfoNaturalWeapons.java Trunk/pcgen/code/src/java/pcgen/gui/tabs/InfoSkills.java Trunk/pcgen/code/src/java/pcgen/gui/utils/NonGuiChooser.java Trunk/pcgen/code/src/java/pcgen/gui/utils/SwingChooser.java Trunk/pcgen/code/src/java/pcgen/gui/utils/chooser/ChooserTableModel.java Trunk/pcgen/code/src/java/pcgen/io/ExportHandler.java Trunk/pcgen/code/src/java/pcgen/io/PCGVer2Creator.java Trunk/pcgen/code/src/java/pcgen/io/exporttoken/SkillToken.java Trunk/pcgen/code/src/java/pcgen/io/exporttoken/WeaponToken.java Trunk/pcgen/code/src/java/pcgen/persistence/lst/DeityLoader.java Trunk/pcgen/code/src/java/pcgen/persistence/lst/EquipmentLoader.java Trunk/pcgen/code/src/java/pcgen/persistence/lst/LanguageLoader.java Trunk/pcgen/code/src/java/pcgen/persistence/lst/LstSystemLoader.java Trunk/pcgen/code/src/java/pcgen/persistence/lst/PCClassLoader.java Trunk/pcgen/code/src/java/pcgen/persistence/lst/RaceLoader.java Trunk/pcgen/code/src/java/pcgen/util/DoubleKeyMap.java Trunk/pcgen/code/src/java/pcgen/util/HashMapToList.java Trunk/pcgen/code/src/java/pcgen/util/chooser/ChooserInterface.java Trunk/pcgen/code/src/java/plugin/exporttokens/WeaponProfsToken.java Trunk/pcgen/code/src/java/plugin/lsttokens/SpellsLst.java Trunk/pcgen/code/src/java/plugin/lsttokens/equipment/BonustypeToken.java Trunk/pcgen/code/src/java/plugin/lsttokens/skill/UseuntrainedToken.java Trunk/pcgen/code/src/java/plugin/pretokens/test/PreWeaponProfTester.java Trunk/pcgen/code/src/test/pcgen/core/AbilityStoreTest.java Trunk/pcgen/code/src/test/pcgen/core/AllJUnitTests.java Trunk/pcgen/code/src/test/pcgen/core/DomainTest.java Trunk/pcgen/code/src/test/pcgen/core/chooser/AbilityFromTemplateChoiceManagerTest.java Trunk/pcgen/code/src/test/pcgen/core/chooser/ClassSkillsChoiceManagerTest.java Trunk/pcgen/code/src/test/pcgen/core/levelability/LevelAbilityClassSkillsTest.java Trunk/pcgen/code/src/test/pcgen/util/TestHelper.java Added Paths: ----------- Trunk/pcgen/code/src/java/pcgen/core/AssociatedChoice.java Trunk/pcgen/code/src/java/pcgen/core/WeaponEquipment.java Removed Paths: ------------- Trunk/pcgen/code/src/java/pcgen/core/WeaponProfDataStore.java Trunk/pcgen/code/src/java/pcgen/core/money/Purse.java Modified: Trunk/pcgen/code/src/java/pcgen/core/Ability.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/Ability.java 2006-06-09 00:02:59 UTC (rev 1059) +++ Trunk/pcgen/code/src/java/pcgen/core/Ability.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -81,7 +81,7 @@ */ public void setAddSpellLevel(final int addSpellLevel) { - integerChar.setCharacteristic(IntegerKey.ADD_SPELL_LEVEL, addSpellLevel); + integerChar.put(IntegerKey.ADD_SPELL_LEVEL, addSpellLevel); } /** @@ -92,7 +92,7 @@ */ public int getAddSpellLevel() { - Integer characteristic = integerChar.getCharacteristic(IntegerKey.ADD_SPELL_LEVEL); + Integer characteristic = integerChar.get(IntegerKey.ADD_SPELL_LEVEL); return characteristic == null ? 0 : characteristic.intValue(); } @@ -104,7 +104,7 @@ */ public void setAddString(final String add) { - stringChar.setCharacteristic(StringKey.ADD, add); + stringChar.put(StringKey.ADD, add); } /** @@ -116,7 +116,7 @@ */ public String getAddString() { - String characteristic = stringChar.getCharacteristic(StringKey.ADD); + String characteristic = stringChar.get(StringKey.ADD); return characteristic == null ? "" : characteristic; } @@ -127,7 +127,7 @@ */ public void setBenefit(final String benefit) { - stringChar.setCharacteristic(StringKey.BENEFIT, benefit); + stringChar.put(StringKey.BENEFIT, benefit); } /** @@ -137,7 +137,7 @@ */ public String getBenefit() { - String characteristic = stringChar.getCharacteristic(StringKey.BENEFIT); + String characteristic = stringChar.get(StringKey.BENEFIT); return characteristic == null ? "" : characteristic; } @@ -165,7 +165,7 @@ */ public void setCategory(final String category) { - stringChar.setCharacteristic(StringKey.CATEGORY, category); + stringChar.put(StringKey.CATEGORY, category); } /** @@ -175,7 +175,7 @@ */ public String getCategory() { - String characteristic = stringChar.getCharacteristic(StringKey.CATEGORY); + String characteristic = stringChar.get(StringKey.CATEGORY); return characteristic == null ? Constants.FEAT_CATEGORY : characteristic; } @@ -186,7 +186,7 @@ */ public void setCost(final String cost) { - stringChar.setCharacteristic(StringKey.COST, cost); + stringChar.put(StringKey.COST, cost); } /** @@ -206,7 +206,7 @@ */ public String getCostString() { - String characteristic = stringChar.getCharacteristic(StringKey.COST); + String characteristic = stringChar.get(StringKey.COST); return characteristic == null ? "1" : characteristic; } @@ -243,7 +243,7 @@ return; } - integerChar.setCharacteristic(IntegerKey.ABILITY_TYPE, type); + integerChar.put(IntegerKey.ABILITY_TYPE, type); } /** @@ -253,7 +253,7 @@ */ public int getFeatType() { - Integer characteristic = integerChar.getCharacteristic(IntegerKey.ABILITY_TYPE); + Integer characteristic = integerChar.get(IntegerKey.ABILITY_TYPE); return characteristic == null ? ABILITY_NORMAL : characteristic.intValue(); } @@ -344,7 +344,7 @@ */ public void setVisible(final int visible) { - integerChar.setCharacteristic(IntegerKey.VISIBLE, visible); + integerChar.put(IntegerKey.VISIBLE, visible); } /** @@ -355,7 +355,7 @@ */ public int getVisible() { - Integer characteristic = integerChar.getCharacteristic(IntegerKey.VISIBLE); + Integer characteristic = integerChar.get(IntegerKey.VISIBLE); return characteristic == null ? VISIBILITY_DEFAULT : characteristic.intValue(); } @@ -523,7 +523,7 @@ } @Override - protected List addSpecialAbilitiesToList(final List aList, final PlayerCharacter aPC) + protected List<SpecialAbility> addSpecialAbilitiesToList(final List<SpecialAbility> aList, final PlayerCharacter aPC) { final List specialAbilityList = getListFor(ListKey.SPECIAL_ABILITY); @@ -885,7 +885,7 @@ */ public void setChoiceToModify(final String choiceToModify) { - stringChar.setCharacteristic(StringKey.CHOICE_TO_MODIFY, choiceToModify); + stringChar.put(StringKey.CHOICE_TO_MODIFY, choiceToModify); } /** @@ -896,7 +896,7 @@ */ public String getChoiceToModify() { - String characteristic = stringChar.getCharacteristic(StringKey.CHOICE_TO_MODIFY); + String characteristic = stringChar.get(StringKey.CHOICE_TO_MODIFY); return characteristic == null ? "" : characteristic; } @@ -1095,4 +1095,10 @@ return AbilityUtilities.areSameAbility(this, that); } + public String getDisplayNameWithChoices() + { + StringBuffer buf = new StringBuffer(); + + return buf.toString(); + } } Modified: Trunk/pcgen/code/src/java/pcgen/core/AbilityStore.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/AbilityStore.java 2006-06-09 00:02:59 UTC (rev 1059) +++ Trunk/pcgen/code/src/java/pcgen/core/AbilityStore.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -34,7 +34,7 @@ * @author Andrew Wilson <nu...@so...> * @version $Revision$ */ -public class AbilityStore extends CategorisableStore +public class AbilityStore extends CategorisableStore<Ability> { /** CLEAR_ TOKEN = ".CLEAR" */ public static final String CLEAR_TOKEN = ".CLEAR"; @@ -61,16 +61,12 @@ * @param delimiter the delimiter used to split the string * @param lockCategory whether the default category is the only * acceptable one. - * @param getAbility If true, retrieve the Ability object from - * Globals, otherwise, create an AbilityInfo object - * to represent it. */ public void addAbilityInfo( final String abilities, String defaultCategory, String delimiter, - boolean lockCategory, - boolean getAbility) + boolean lockCategory) { if (CLEAR_TOKEN.equals(abilities)) { @@ -104,24 +100,24 @@ continue; } else if (token.startsWith("TYPE=") || token.startsWith("TYPE.")) - { - final String aType = token.substring(5); - - // We need to get a list of featabilities that match this type. - Iterator i = Globals.getAbilityNameIterator(cat); - while (i.hasNext()) - { - Ability ability = (Ability)i.next(); + { + final String aType = token.substring(5); + + // We need to get a list of featabilities that match this type. + Iterator<Ability> i = Globals.getAbilityNameIterator(cat); + while (i.hasNext()) + { + Ability ability = i.next(); if (ability.isType(aType)) { - addAsPerParsedInfo(getAbility, cat, ability.getKeyName()); + addAsPerParsedInfo(cat, ability.getKeyName()); } - } - } - else - { - addAsPerParsedInfo(getAbility, cat, token); + } } + else + { + addAsPerParsedInfo(cat, token); + } } } @@ -130,25 +126,21 @@ * @param cat * @param token */ - private void addAsPerParsedInfo(boolean getAbility, String cat, final String token) { - Categorisable toAdd = (getAbility) - ? (Categorisable) AbilityUtilities.retrieveAbilityKeyed(cat, token) - : (Categorisable) new AbilityInfo(cat, token); + private void addAsPerParsedInfo(String cat, final String token) { + final Ability toAdd = AbilityUtilities.retrieveAbilityKeyed(cat, token); if (toAdd == null) { - if (getAbility) - { - Logging.errorPrint( - "Couldn't retrieve Ability! Category: " + cat + ", KeyName: " + - token); - } + Logging.errorPrint( + "Couldn't retrieve Ability! Category: " + cat + ", KeyName: " + + token); } else { if (!this.addCategorisable(toAdd)) { - String error = (getAbility) ? "Ability object" : "AbilityInfo object"; + // I18N + String error = "Ability object"; Logging.errorPrint("problem adding " + error); } } @@ -169,9 +161,9 @@ * @return a category or a blank string */ private String getInitialCategory( - String defaultCategory, - boolean lockCategory, - final StringTokenizer aTok) + String defaultCategory, + boolean lockCategory, + final StringTokenizer aTok) { if (!"".equalsIgnoreCase(defaultCategory)) { return defaultCategory; @@ -197,26 +189,26 @@ /** * Get a representation of the objects held in this Store. The representation * if to addAbilityInfo will produce a "clone" of this object. - * + * * @return a parsable representation of this Store */ public String getParsableStringRepresentation () { String info = ""; - - for(Iterator OuterIt = this.getCategoryIterator(); OuterIt.hasNext();) { - String cat = (String) OuterIt.next(); - + + for(Iterator<String> OuterIt = this.getCategoryIterator(); OuterIt.hasNext();) { + String cat = OuterIt.next(); + if (info.length() > 0) { info += "|"; } info += "CATEGORY=" + cat; - for(Iterator innerIt = this.getKeyIterator(cat); innerIt.hasNext();) { - AbilityInfo ab = (AbilityInfo) innerIt.next(); + for(Iterator<Ability> innerIt = this.getKeyIterator(cat); innerIt.hasNext();) { + Ability ab = innerIt.next(); info += "|" + ab.getKeyName(); } } - + return info; } } Modified: Trunk/pcgen/code/src/java/pcgen/core/AbilityUtilities.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/AbilityUtilities.java 2006-06-09 00:02:59 UTC (rev 1059) +++ Trunk/pcgen/code/src/java/pcgen/core/AbilityUtilities.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -871,10 +871,10 @@ * @return a List of the Abilities this Character has */ - static public List rebuildAutoAbilityList(PlayerCharacter aPc) + static public List<Ability> rebuildAutoAbilityList(PlayerCharacter aPc) { - final List autoFeatList; - autoFeatList = new ArrayList(); + final List<Ability> autoFeatList; + autoFeatList = new ArrayList<Ability>(); // // add racial feats @@ -890,17 +890,17 @@ } } - for (Iterator e = aPc.getClassListIterator(); e.hasNext();) + for (Iterator<PCClass> e = aPc.getClassListIterator(); e.hasNext();) { - final PCClass aClass = (PCClass) e.next(); + final PCClass aClass = e.next(); - for (Iterator e1 = aClass.getFeatAutos().iterator(); e1.hasNext();) + for (Iterator<String> e1 = aClass.getFeatAutos().iterator(); e1.hasNext();) { // // PCClass object have auto feats stored in format: // lvl|feat_name // - final String aString = (String) e1.next(); + final String aString = e1.next(); if (aString.indexOf('|') < 1) { @@ -930,7 +930,7 @@ if (idx >= 0) { final StringTokenizer bTok = new StringTokenizer(autoFeat.substring(idx + 1), "[]"); - final List preReqList = new ArrayList(); + final List<Prerequisite> preReqList = new ArrayList<Prerequisite>(); while (bTok.hasMoreTokens()) { @@ -973,17 +973,17 @@ if (!PlayerCharacterUtilities.canReassignTemplateFeats() && !aPc.getTemplateList().isEmpty()) { - for (Iterator e = aPc.getTemplateListIterator(); e.hasNext();) + for (Iterator<PCTemplate> e = aPc.getTemplateListIterator(); e.hasNext();) { aPc.setStableAutomaticFeatList(autoFeatList); - final PCTemplate aTemplate = (PCTemplate) e.next(); - final List templateFeats = aTemplate.feats(aPc.getTotalLevels(), aPc.totalHitDice(), aPc, false); + final PCTemplate aTemplate = e.next(); + final List<String> templateFeats = aTemplate.feats(aPc.getTotalLevels(), aPc.totalHitDice(), aPc, false); if (!templateFeats.isEmpty()) { - for (Iterator e2 = templateFeats.iterator(); e2.hasNext();) + for (Iterator<String> e2 = templateFeats.iterator(); e2.hasNext();) { - final String aString = (String) e2.next(); + final String aString = e2.next(); final StringTokenizer aTok = new StringTokenizer(aString, ","); while (aTok.hasMoreTokens()) @@ -998,9 +998,9 @@ if (!aPc.getCharacterDomainList().isEmpty()) { - for (Iterator e = aPc.getCharacterDomainListIterator(); e.hasNext();) + for (Iterator<CharacterDomain> e = aPc.getCharacterDomainListIterator(); e.hasNext();) { - final CharacterDomain aCD = (CharacterDomain) e.next(); + final CharacterDomain aCD = e.next(); final Domain aDomain = aCD.getDomain(); if (aDomain != null) @@ -1025,11 +1025,11 @@ } } - final Iterator anIt = aDomain.getFeatIterator(); + final Iterator<Ability> anIt = aDomain.getFeatIterator(); for (; anIt.hasNext();) { - final AbilityInfo abI = (AbilityInfo) anIt.next(); + final Ability abI = anIt.next(); Ability added = addCloneOfGlobalAbilityToListWithChoices(autoFeatList, "FEAT", abI.getKeyName()); added.setFeatType(Ability.ABILITY_AUTOMATIC); } Added: Trunk/pcgen/code/src/java/pcgen/core/AssociatedChoice.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/AssociatedChoice.java (rev 0) +++ Trunk/pcgen/code/src/java/pcgen/core/AssociatedChoice.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -0,0 +1,135 @@ +package pcgen.core; + +import java.util.Collection; +import java.util.HashMap; + +public class AssociatedChoice <T extends Comparable> implements Comparable +{ + protected HashMap<String, T> choices = new HashMap<String, T>(); + + public static final String DEFAULT_KEY = "CHOICE"; + + /** + * Empty constructor. No choices are associated yet. + */ + public AssociatedChoice() + { + } + + /** + * Constructs a simple choice object with a single choice + * @param aChoice The selected item to associate + */ + public AssociatedChoice( final T aChoice ) + { + // Convience method to add just a single choice + choices.put( DEFAULT_KEY, aChoice ); + } + + /** + * Adds a list of choices keyed by the order returned by the collection's + * iterator. + * @param aGroup A list of choices to associate + */ + public AssociatedChoice( final Collection<T> aGroup ) + { + int count = 0; + for ( T val : aGroup ) + { + choices.put( String.valueOf(++count), val ); + } + } + + /** + * Construct a choice with a specific key + * @param aKey Key used to reference this choice option + * @param aChoice The value to associate with this choice key + */ + public AssociatedChoice( final String aKey, final T aChoice ) + { + choices.put( aKey, aChoice ); + } + + /** + * Adds a choice to the default key + * @param aChoice The value to associate + */ + public void addChoice( final T aChoice ) + { + choices.put( DEFAULT_KEY, aChoice ); + } + + /** + * Adds a choice with the specified key + * @param aKey Key to use for this choice + * @param aChoice Value of the choice + */ + public void addChoice( final String aKey, final T aChoice ) + { + choices.put( aKey, aChoice ); + } + + /** + * Get the choice for the specified key + * @param aKey Key to retreive choice for + * @return The choice associated with the specified key + */ + public T getChoice( final String aKey ) + { + return choices.get( aKey ); + } + + public T getDefaultChoice() + { + return choices.get( DEFAULT_KEY ); + } + + public Collection<T> getChoices() + { + return choices.values(); + } + + public boolean remove( final String aKey ) + { + return choices.remove( aKey ) == null ? false : true; + } + + public boolean removeDefaultChoice( final T aChoice ) + { + T result = choices.get( DEFAULT_KEY ); + if ( result != null ) + { + if ( result.equals( aChoice ) ) + { + choices.remove( DEFAULT_KEY ); + return true; + } + } + return false; + } + + /** + * Returns the number of choices made + * @return Number of choices + */ + public int size() + { + return choices.size(); + } + + public int compareTo(Object o) + { + AssociatedChoice<T> other = (AssociatedChoice<T>)o; + + T defaultValue = getDefaultChoice(); + if ( defaultValue != null ) + { + T otherDefault = other.getDefaultChoice(); + if ( otherDefault != null ) + { + return defaultValue.compareTo(otherDefault); + } + } + return 1; + } +} Property changes on: Trunk/pcgen/code/src/java/pcgen/core/AssociatedChoice.java ___________________________________________________________________ Name: svn:keywords + "Author Revision Date Id" Name: svn:eol-style + native Modified: Trunk/pcgen/code/src/java/pcgen/core/Campaign.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/Campaign.java 2006-06-09 00:02:59 UTC (rev 1059) +++ Trunk/pcgen/code/src/java/pcgen/core/Campaign.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -583,7 +583,7 @@ */ public String getBookType() { - String characteristic = stringChar.getCharacteristic(StringKey.BOOK_TYPE); + String characteristic = stringChar.get(StringKey.BOOK_TYPE); return characteristic == null ? "" : characteristic; } @@ -657,7 +657,7 @@ */ public String getDestination() { - String characteristic = stringChar.getCharacteristic(StringKey.DESTINATION); + String characteristic = stringChar.get(StringKey.DESTINATION); return characteristic == null ? "" : characteristic; } @@ -736,7 +736,7 @@ */ public String getGenre() { - String characteristic = stringChar.getCharacteristic(StringKey.GENRE); + String characteristic = stringChar.get(StringKey.GENRE); return characteristic == null ? "" : characteristic; } @@ -746,7 +746,7 @@ */ public String getHelp() { - String characteristic = stringChar.getCharacteristic(StringKey.HELP); + String characteristic = stringChar.get(StringKey.HELP); return characteristic == null ? "" : characteristic; } @@ -755,7 +755,7 @@ */ public String getInfoText() { - String characteristic = stringChar.getCharacteristic(StringKey.INFO_TEXT); + String characteristic = stringChar.get(StringKey.INFO_TEXT); return characteristic == null ? "" : characteristic; } @@ -843,7 +843,7 @@ */ public String getPubNameLong() { - String characteristic = stringChar.getCharacteristic(StringKey.PUB_NAME_LONG); + String characteristic = stringChar.get(StringKey.PUB_NAME_LONG); return characteristic == null ? "" : characteristic; } @@ -853,7 +853,7 @@ */ public String getPubNameShort() { - String characteristic = stringChar.getCharacteristic(StringKey.PUB_NAME_SHORT); + String characteristic = stringChar.get(StringKey.PUB_NAME_SHORT); return characteristic == null ? "" : characteristic; } @@ -863,7 +863,7 @@ */ public String getPubNameWeb() { - String characteristic = stringChar.getCharacteristic(StringKey.PUB_NAME_WEB); + String characteristic = stringChar.get(StringKey.PUB_NAME_WEB); return characteristic == null ? "" : characteristic; } @@ -881,7 +881,7 @@ */ public int getRank() { - Integer characteristic = integerChar.getCharacteristic(IntegerKey.RANK); + Integer characteristic = integerChar.get(IntegerKey.RANK); return characteristic == null ? 9 : characteristic.intValue(); } @@ -924,7 +924,7 @@ */ public String getSetting() { - String characteristic = stringChar.getCharacteristic(StringKey.SETTING); + String characteristic = stringChar.get(StringKey.SETTING); return characteristic == null ? "" : characteristic; } @@ -1000,7 +1000,7 @@ */ public void setBookType(final String bookType) { - stringChar.setCharacteristic(StringKey.BOOK_TYPE, bookType); + stringChar.put(StringKey.BOOK_TYPE, bookType); } /** @@ -1009,7 +1009,7 @@ */ public void setDestination(final String destination) { - stringChar.setCharacteristic(StringKey.DESTINATION, destination); + stringChar.put(StringKey.DESTINATION, destination); } /** @@ -1037,7 +1037,7 @@ */ public void setGenre(final String genre) { - stringChar.setCharacteristic(StringKey.GENRE, genre); + stringChar.put(StringKey.GENRE, genre); } /** @@ -1046,7 +1046,7 @@ */ public void setHelp(final String help) { - stringChar.setCharacteristic(StringKey.HELP, help); + stringChar.put(StringKey.HELP, help); } /** @@ -1055,7 +1055,7 @@ */ public void setInfoText(final String infoText) { - stringChar.setCharacteristic(StringKey.INFO_TEXT, infoText); + stringChar.put(StringKey.INFO_TEXT, infoText); } /** @@ -1065,7 +1065,7 @@ public void setPubNameLong(final String pubNameLong) { addPublisher("LONG:" + pubNameLong); - stringChar.setCharacteristic(StringKey.PUB_NAME_LONG, pubNameLong); + stringChar.put(StringKey.PUB_NAME_LONG, pubNameLong); } /** @@ -1075,7 +1075,7 @@ public void setPubNameShort(final String pubNameShort) { addPublisher("SHORT:" + pubNameShort); - stringChar.setCharacteristic(StringKey.PUB_NAME_SHORT, pubNameShort); + stringChar.put(StringKey.PUB_NAME_SHORT, pubNameShort); } /** @@ -1085,7 +1085,7 @@ public void setPubNameWeb(final String pubNameWeb) { addPublisher("WEB:" + pubNameWeb); - stringChar.setCharacteristic(StringKey.PUB_NAME_WEB, pubNameWeb); + stringChar.put(StringKey.PUB_NAME_WEB, pubNameWeb); } /** @@ -1094,7 +1094,7 @@ */ public void setRank(final int rank) { - integerChar.setCharacteristic(IntegerKey.RANK, rank); + integerChar.put(IntegerKey.RANK, rank); } /** @@ -1103,7 +1103,7 @@ */ public void setSetting(final String setting) { - stringChar.setCharacteristic(StringKey.SETTING, setting); + stringChar.put(StringKey.SETTING, setting); } /** Modified: Trunk/pcgen/code/src/java/pcgen/core/CategorisableStore.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/CategorisableStore.java 2006-06-09 00:02:59 UTC (rev 1059) +++ Trunk/pcgen/code/src/java/pcgen/core/CategorisableStore.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -31,39 +31,36 @@ * @author Andrew Wilson <nu...@so...> * @version $Revision$ */ -public class CategorisableStore implements Cloneable +public class CategorisableStore<T extends Categorisable> implements Cloneable { - private static final Comparator catKeyComp = new Comparator() + private static final Comparator<Categorisable> catKeyComp = new Comparator<Categorisable>() { - public int compare(final Object o1, final Object o2) + public int compare(final Categorisable o1, final Categorisable o2) { - return ((Categorisable) o1).getKeyName().compareToIgnoreCase( - ((Categorisable) o2).getKeyName()); + return o1.getKeyName().compareToIgnoreCase(o2.getKeyName()); } }; - private static final Comparator catNameComp = new Comparator() + private static final Comparator<Categorisable> catNameComp = new Comparator<Categorisable>() { - public int compare(final Object o1, final Object o2) + public int compare(final Categorisable o1, final Categorisable o2) { - String s1 = ((Categorisable) o1).getDisplayName(); - String s2 = ((Categorisable) o2).getDisplayName(); + final String s1 = o1.getDisplayName(); + final String s2 = o2.getDisplayName(); return (s1.compareToIgnoreCase(s2)); } }; - private static final Comparator stringComp = new Comparator() + private static final Comparator<String> stringComp = new Comparator<String>() { - public int compare(final Object o1, final Object o2) + public int compare(final String o1, final String o2) { - String s1 = (String) o1; - String s2 = (String) o2; - return (s1.compareToIgnoreCase(s2)); + return (o1.compareToIgnoreCase(o2)); } }; - protected Map categoryMap = new HashMap(); + protected Map<String, Map<String, T>> categoryMap = new HashMap<String, Map<String, T>>(); /** * Make a new WareHouse @@ -81,17 +78,17 @@ * @return true if the object was added correctly */ - public boolean addCategorisable(final Categorisable aCatObj) + public boolean addCategorisable(final T aCatObj) { - Map objMap = (HashMap) categoryMap.get(aCatObj.getCategory()); + Map<String, T> objMap = categoryMap.get(aCatObj.getCategory()); if (objMap == null) { - objMap = new HashMap(); + objMap = new HashMap<String, T>(); categoryMap.put(aCatObj.getCategory(), objMap); } - String key = aCatObj.getKeyName().toLowerCase(); + final String key = aCatObj.getKeyName().toLowerCase(); /* Keys absolutely must be unique */ if (objMap.get(key) != null) @@ -114,7 +111,7 @@ */ public void clear() { - categoryMap = new HashMap(); + categoryMap = new HashMap<String, Map<String, T>>(); } /** @@ -127,11 +124,11 @@ { CategorisableStore clone = new CategorisableStore(); - Iterator it = this.getKeyIterator(Constants.ALL_CATEGORIES); + Iterator<T> it = this.getKeyIterator(Constants.ALL_CATEGORIES); while (it.hasNext()) { - final Categorisable ab = (Categorisable) it.next(); + final T ab = it.next(); clone.addCategorisable(ab); } @@ -148,9 +145,9 @@ * @return the Categorisable Object whose Category and Key match */ - public Categorisable getKeyed(final String aCategory, final String aKey) + public T getKeyed(final String aCategory, final String aKey) { - final HashMap objMap = (HashMap) categoryMap.get(aCategory); + final Map<String, T> objMap = categoryMap.get(aCategory); // nothing in this category? if (objMap == null) @@ -158,9 +155,7 @@ return null; } - String key = aKey.toLowerCase(); - - return (Categorisable) objMap.get(key); + return objMap.get(aKey.toLowerCase()); } /** @@ -172,9 +167,9 @@ * * @return An Iterator */ - public Iterator getKeyIterator(String aCategory) + public Iterator<T> getKeyIterator(String aCategory) { - TreeSet sortedAggregate = getSortedSet(aCategory, catKeyComp); + SortedSet<T> sortedAggregate = getSortedSet(aCategory, catKeyComp); if (sortedAggregate == null) { @@ -194,9 +189,9 @@ * @return the Categorisable Object whose Name matches the String passed in */ - public Categorisable getNamed(final String aCategory, String aName) + public T getNamed(final String aCategory, String aName) { - final Iterator it = getNameIterator(aCategory); + final Iterator<T> it = getNameIterator(aCategory); // nothing in this category? if (it == null) @@ -208,7 +203,7 @@ while (it.hasNext()) { - final Categorisable itCatObj = (Categorisable) it.next(); + final T itCatObj = it.next(); if ( itCatObj.getKeyName().equalsIgnoreCase(aName) || @@ -230,9 +225,9 @@ * * @return An Iterator */ - public Iterator getNameIterator(String aCategory) + public Iterator<T> getNameIterator(String aCategory) { - TreeSet sortedAggregate = getSortedSet(aCategory, catNameComp); + TreeSet<T> sortedAggregate = getSortedSet(aCategory, catNameComp); if (sortedAggregate == null) { @@ -248,9 +243,9 @@ * * @return An Iterator */ - public Iterator getCategoryIterator() + public Iterator<String> getCategoryIterator() { - TreeSet sortedAggregate = getSortedCategorySet(stringComp); + TreeSet<String> sortedAggregate = getSortedCategorySet(stringComp); if (sortedAggregate == null) { @@ -271,11 +266,11 @@ * * @return An Iterator */ - private TreeSet getSortedSet( + private TreeSet<T> getSortedSet( final String aCategory, - final Comparator aComp) + final Comparator<Categorisable> aComp) { - final HashSet aggregate; + final Set<T> aggregate; if (Constants.ALL_CATEGORIES.equals(aCategory)) { @@ -283,17 +278,17 @@ } else { - HashMap aggregateMap = (HashMap) categoryMap.get(aCategory); + Map<String, T> aggregateMap = categoryMap.get(aCategory); if (aggregateMap == null) { return null; } - aggregate = new HashSet(aggregateMap.values()); + aggregate = new HashSet<T>(aggregateMap.values()); } - TreeSet sortedAggregate = new TreeSet(aComp); + TreeSet<T> sortedAggregate = new TreeSet<T>(aComp); sortedAggregate.addAll(aggregate); return sortedAggregate; @@ -308,9 +303,9 @@ * * @return An Iterator */ - private TreeSet getSortedCategorySet(final Comparator aComp) + private TreeSet<String> getSortedCategorySet(final Comparator<String> aComp) { - TreeSet sortedAggregate = new TreeSet(aComp); + TreeSet<String> sortedAggregate = new TreeSet<String>(aComp); sortedAggregate.addAll(categoryMap.keySet()); return sortedAggregate; @@ -325,16 +320,16 @@ * * @return an unmodifiable list of the Objects in the given category */ - public List getUnmodifiableList(String aCategory) + public List<T> getUnmodifiableList(String aCategory) { - TreeSet sortedAggregate = getSortedSet(aCategory, catNameComp); + TreeSet<T> sortedAggregate = getSortedSet(aCategory, catNameComp); if (sortedAggregate == null) { - return Collections.EMPTY_LIST; + return Collections.emptyList(); } - ArrayList aList = new ArrayList(sortedAggregate.size()); + ArrayList<T> aList = new ArrayList<T>(sortedAggregate.size()); aList.addAll(sortedAggregate); return Collections.unmodifiableList(aList); @@ -345,13 +340,13 @@ * * @return a HashSet containing all the objects */ - private HashSet makeAggregateSet() + private Set<T> makeAggregateSet() { - final HashSet aggregate = new HashSet(); + final Set<T> aggregate = new HashSet<T>(); - for (Iterator it = categoryMap.values().iterator(); it.hasNext();) + for (Iterator<Map<String, T>> it = categoryMap.values().iterator(); it.hasNext();) { - aggregate.addAll(((HashMap) it.next()).values()); + aggregate.addAll(it.next().values()); } return aggregate; @@ -369,7 +364,7 @@ */ public boolean removeKeyed(final String aCategory, final String aKey) { - final HashMap objMap = (HashMap) categoryMap.get(aCategory); + final Map<String, T> objMap = categoryMap.get(aCategory); // nothing in this category? if (objMap == null) @@ -379,7 +374,7 @@ String key = aKey.toLowerCase(); - final Categorisable aCatObj = (Categorisable) objMap.remove(key); + final Categorisable aCatObj = objMap.remove(key); return (aCatObj != null); } @@ -398,7 +393,7 @@ public boolean removeNamed(final String aCategory, String aName) { - final Iterator it = getNameIterator(aCategory); + final Iterator<T> it = getNameIterator(aCategory); // nothing in this category? if (it == null) @@ -410,15 +405,15 @@ while (it.hasNext()) { - final Categorisable itCatObj = (Categorisable) it.next(); + final Categorisable itCatObj = it.next(); if ( itCatObj.getKeyName().equalsIgnoreCase(aName) || itCatObj.getKeyName().equalsIgnoreCase(strippedName)) { final String aKey = itCatObj.getKeyName().toLowerCase(); - final HashMap objMap = (HashMap) categoryMap.get(aCategory); - final Categorisable aCatObj = (Categorisable) objMap.remove(aKey); + final Map<String, T> objMap = categoryMap.get(aCategory); + final Categorisable aCatObj = objMap.remove(aKey); return (aCatObj != null); } @@ -433,11 +428,11 @@ public int size() { int size = 0; - Iterator it = categoryMap.values().iterator(); + Iterator<Map<String, T>> it = categoryMap.values().iterator(); while (it.hasNext()) { - size = size + ((HashMap) it.next()).size(); + size = size + it.next().size(); } return size; Modified: Trunk/pcgen/code/src/java/pcgen/core/DamageReduction.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/DamageReduction.java 2006-06-09 00:02:59 UTC (rev 1059) +++ Trunk/pcgen/code/src/java/pcgen/core/DamageReduction.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -51,7 +51,7 @@ private String theReduction = "0"; private String theBypass = "-"; private PlayerCharacter thePC = null; - private ArrayList thePreReqs = new ArrayList(); + private ArrayList<Prerequisite> thePreReqs = new ArrayList<Prerequisite>(); private static final int NO_JOIN = -1; private static final int AND_JOIN = 0; private static final int OR_JOIN = 1; @@ -133,7 +133,7 @@ * * @return List of prereqs */ - public List getPreReqList() + public List<Prerequisite> getPreReqList() { return Collections.unmodifiableList(thePreReqs); } @@ -195,10 +195,10 @@ * list of types. * @return Collection of unique types converted to lower case */ - public Collection getBypassList() + public Collection<String> getBypassList() { StringTokenizer tok = new StringTokenizer(theBypass, " "); - HashSet ret = new HashSet(); + HashSet<String> ret = new HashSet<String>(); while (tok.hasMoreTokens()) { @@ -208,7 +208,7 @@ ret.add(val.toLowerCase()); } } - return ret; + return Collections.unmodifiableSet(ret); } /** @@ -243,8 +243,8 @@ */ public boolean equals(Object other) { - Collection l1 = getBypassList(); - Collection l2 = ( (DamageReduction) other).getBypassList(); + Collection<String> l1 = getBypassList(); + Collection<String> l2 = ( (DamageReduction) other).getBypassList(); if (l1.containsAll(l2) && l2.containsAll(l1)) { return getReductionValue() @@ -275,10 +275,10 @@ */ public int hashCode() { - ArrayList l = new ArrayList(getBypassList()); + ArrayList<String> l = new ArrayList<String>(getBypassList()); Collections.sort(l); int hash = 0; - for (Iterator i = l.iterator(); i.hasNext(); ) + for (Iterator<String> i = l.iterator(); i.hasNext(); ) { hash += i.next().hashCode(); } @@ -311,8 +311,8 @@ return null; } // Intersect the two DRs to see if we have anything in common. - HashSet hs1 = new HashSet(dr1.getBypassList()); - HashSet hs2 = new HashSet(dr2.getBypassList()); + HashSet<String> hs1 = new HashSet<String>(dr1.getBypassList()); + HashSet<String> hs2 = new HashSet<String>(dr2.getBypassList()); if (dr1.getBypass().equalsIgnoreCase(dr2.getBypass())) { @@ -368,11 +368,11 @@ // If the value is the same we can combine items if (dr1.join != OR_JOIN && dr2.join != OR_JOIN) { - HashSet unique = new HashSet(dr1.getBypassList()); + HashSet<String> unique = new HashSet<String>(dr1.getBypassList()); unique.addAll(hs2); boolean doneFirst = false; StringBuffer buffer = new StringBuffer(); - for (Iterator i = unique.iterator(); i.hasNext(); ) + for (Iterator<String> i = unique.iterator(); i.hasNext(); ) { if (doneFirst) { @@ -444,12 +444,12 @@ * method. * @return The list of DRs that contain ORs. */ - private static List parseOrList(final PlayerCharacter aPC, List drList) + private static List<DamageReduction> parseOrList(final PlayerCharacter aPC, List<DamageReduction> drList) { - ArrayList ret = new ArrayList(); - for (Iterator i = drList.iterator(); i.hasNext(); ) + ArrayList<DamageReduction> ret = new ArrayList<DamageReduction>(); + for (Iterator<DamageReduction> i = drList.iterator(); i.hasNext(); ) { - DamageReduction dr = (DamageReduction) i.next(); + DamageReduction dr = i.next(); dr.setPC(aPC); if (!PrereqHandler.passesAll(dr.thePreReqs, aPC, null)) { @@ -471,12 +471,12 @@ * @param inList List * @return List of separated DRs */ - private static List parseAndList(final List inList) + private static List<DamageReduction> parseAndList(final List<DamageReduction> inList) { - ArrayList ret = new ArrayList(); - for (Iterator i = inList.iterator(); i.hasNext(); ) + ArrayList<DamageReduction> ret = new ArrayList<DamageReduction>(); + for (Iterator<DamageReduction> i = inList.iterator(); i.hasNext(); ) { - DamageReduction dr = (DamageReduction) i.next(); + DamageReduction dr = i.next(); final String bypass = dr.getBypass().replaceAll(" AND ", " and "); String[] splits = bypass.split(" and "); if (splits.length == 1) @@ -502,20 +502,20 @@ * @param orList List of OR type DRs * @return Resulting List generated by combining both passed in lists. */ - private static List processList(List andList, List orList) + private static List<DamageReduction> processList(List<DamageReduction> andList, List<DamageReduction> orList) { - ArrayList ret = new ArrayList(); - HashMap lookup = new HashMap(); - for (Iterator i = andList.iterator(); i.hasNext(); ) + ArrayList<DamageReduction> ret = new ArrayList<DamageReduction>(); + HashMap<String, DamageReduction> lookup = new HashMap<String, DamageReduction>(); + for (Iterator<DamageReduction> i = andList.iterator(); i.hasNext(); ) { - DamageReduction dr = (DamageReduction) i.next(); + DamageReduction dr = i.next(); final String bypass = dr.getBypass().toLowerCase(); if (dr.getReductionValue() == -1) { ret.add(dr); continue; } - DamageReduction match = (DamageReduction) lookup.get(bypass); + DamageReduction match = lookup.get(bypass); if (match == null) { lookup.put(bypass, dr); @@ -534,9 +534,9 @@ // Case 2: A smaller DR for any value in the OR // e.g. 10/magic or good + 5/good = 10/magic or good; 5/good // e.g. 10/magic or good or lawful + 5/good = 10/good; 5/magic or good - for (Iterator i = orList.iterator(); i.hasNext(); ) + for (Iterator<DamageReduction> i = orList.iterator(); i.hasNext(); ) { - DamageReduction dr = (DamageReduction) i.next(); + DamageReduction dr = i.next(); final String bypass = dr.getBypass().replaceAll(" OR ", " or "); String[] orValues = bypass.split(" or "); boolean shouldAdd = true; @@ -544,7 +544,7 @@ { // See if we already have a value for this type from the 'and' // processing. - DamageReduction andDR = (DamageReduction)lookup.get(orValues[j].toLowerCase()); + DamageReduction andDR = lookup.get(orValues[j].toLowerCase()); if (andDR != null) { if (andDR.getReductionValue() >= dr.getReductionValue()) @@ -570,13 +570,13 @@ * @param drList The list of DRs to combine. The list is modified by the * method. */ - private static void mergeAnds(List drList) + private static void mergeAnds(List<DamageReduction> drList) { // Assumes the input list is sorted in DR rating order DamageReduction currentDR = null; - for (Iterator i = drList.iterator(); i.hasNext(); ) + for (Iterator<DamageReduction> i = drList.iterator(); i.hasNext(); ) { - DamageReduction dr = (DamageReduction) i.next(); + DamageReduction dr = i.next(); if (dr.join != OR_JOIN) { if (currentDR != null @@ -602,15 +602,15 @@ * @param drList List of DamageReduction objects to combine * @return List of combined DamageReduction objects without merging "ands" */ - public static List getDRList(final PlayerCharacter aPC, List drList) + public static List<DamageReduction> getDRList(final PlayerCharacter aPC, List<DamageReduction> drList) { - List inList = new ArrayList(drList); - List orList = parseOrList(aPC, inList); - List andList = parseAndList(inList); + List<DamageReduction> inList = new ArrayList<DamageReduction>(drList); + List<DamageReduction> orList = parseOrList(aPC, inList); + List<DamageReduction> andList = parseAndList(inList); - List resultList = processList(andList, orList); + List<DamageReduction> resultList = processList(andList, orList); - return resultList; + return Collections.unmodifiableList(resultList); } /** @@ -620,16 +620,15 @@ * @param drList List of DRs * @return String based result of combine. */ - public static String getDRString(final PlayerCharacter aPC, List drList) + public static String getDRString(final PlayerCharacter aPC, List<DamageReduction> drList) { - List resultList = getDRList(aPC, drList); + List<DamageReduction> resultList = new ArrayList<DamageReduction>(getDRList(aPC, drList)); mergeAnds(resultList); StringBuffer buffer = new StringBuffer(); boolean doneFirst = false; - for (Iterator i = resultList.iterator(); i.hasNext(); ) + for ( DamageReduction dr : resultList ) { - DamageReduction dr = (DamageReduction) i.next(); if (doneFirst) { buffer.append("; "); Modified: Trunk/pcgen/code/src/java/pcgen/core/Deity.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/Deity.java 2006-06-09 00:02:59 UTC (rev 1059) +++ Trunk/pcgen/code/src/java/pcgen/core/Deity.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -155,7 +155,7 @@ */ public String getAlignment() { - String characteristic = stringChar.getCharacteristic(StringKey.ALIGNMENT); + String characteristic = stringChar.get(StringKey.ALIGNMENT); return characteristic == null ? "" : characteristic; } @@ -164,14 +164,14 @@ */ public String getAppearance() { - String characteristic = stringChar.getCharacteristic(StringKey.APPEARANCE); + String characteristic = stringChar.get(StringKey.APPEARANCE); return characteristic == null ? "" : characteristic; } /** * @return a List of the domains this deity has */ - public List getDomainList() + public List<Domain> getDomainList() { return getListFor(ListKey.DOMAIN); } @@ -181,7 +181,7 @@ */ public String getDomainListPIString() { - String domainListPIString = stringChar.getCharacteristic(StringKey.DOMAIN_LIST_PI); + String domainListPIString = stringChar.get(StringKey.DOMAIN_LIST_PI); if (domainListPIString == null) { @@ -230,7 +230,7 @@ piString.append("</html>"); - stringChar.setCharacteristic(StringKey.DOMAIN_LIST_PI, piString.toString()); + stringChar.put(StringKey.DOMAIN_LIST_PI, piString.toString()); } // end of double-locking } @@ -238,7 +238,7 @@ } // end of null-check - return stringChar.getCharacteristic(StringKey.DOMAIN_LIST_PI); + return stringChar.get(StringKey.DOMAIN_LIST_PI); } /** @@ -246,7 +246,7 @@ */ public String getFavoredWeapon() { - String characteristic = stringChar.getCharacteristic(StringKey.FAVORED_WEAPON); + String characteristic = stringChar.get(StringKey.FAVORED_WEAPON); return characteristic == null ? "" : characteristic; } @@ -255,7 +255,7 @@ */ public String getFollowerAlignments() { - String characteristic = stringChar.getCharacteristic(StringKey.FOLLOWER_ALIGNMENTS); + String characteristic = stringChar.get(StringKey.FOLLOWER_ALIGNMENTS); return characteristic == null ? "" : characteristic; } @@ -264,7 +264,7 @@ */ public String getHolyItem() { - String characteristic = stringChar.getCharacteristic(StringKey.HOLY_ITEM); + String characteristic = stringChar.get(StringKey.HOLY_ITEM); return characteristic == null ? Constants.s_NONE : characteristic; } @@ -353,7 +353,7 @@ */ public String getTitle() { - String characteristic = stringChar.getCharacteristic(StringKey.TITLE); + String characteristic = stringChar.get(StringKey.TITLE); return characteristic == null ? "" : characteristic; } @@ -362,7 +362,7 @@ */ public final String getWorshippers() { - String characteristic = stringChar.getCharacteristic(StringKey.WORSHIPPERS); + String characteristic = stringChar.get(StringKey.WORSHIPPERS); return characteristic == null ? "" : characteristic; } @@ -448,7 +448,7 @@ */ public void setAppearance(final String appearance) { - stringChar.setCharacteristic(StringKey.APPEARANCE, appearance); + stringChar.put(StringKey.APPEARANCE, appearance); } /** @@ -458,7 +458,7 @@ */ public void setAlignment(final String alignment) { - stringChar.setCharacteristic(StringKey.ALIGNMENT, alignment); + stringChar.put(StringKey.ALIGNMENT, alignment); } /** @@ -470,7 +470,7 @@ public void setDomainList(final List domainList) { listChar.addAllToListFor(ListKey.DOMAIN, domainList); - stringChar.setCharacteristic(StringKey.DOMAIN_LIST_PI, null); + stringChar.put(StringKey.DOMAIN_LIST_PI, null); } /** @@ -481,7 +481,7 @@ */ public void setDomainNameList(final List aDomainStringList) { - stringChar.setCharacteristic(StringKey.DOMAIN_LIST_PI, null); + stringChar.put(StringKey.DOMAIN_LIST_PI, null); d_allDomains = false; buildDomainList(aDomainStringList); } @@ -492,7 +492,7 @@ */ public void setFavoredWeapon(final String favoredWeapon) { - stringChar.setCharacteristic(StringKey.FAVORED_WEAPON, favoredWeapon); + stringChar.put(StringKey.FAVORED_WEAPON, favoredWeapon); } /** @@ -503,7 +503,7 @@ */ public void setFollowerAlignments(final String followerAlignments) { - stringChar.setCharacteristic(StringKey.FOLLOWER_ALIGNMENTS, followerAlignments); + stringChar.put(StringKey.FOLLOWER_ALIGNMENTS, followerAlignments); } /** @@ -512,7 +512,7 @@ */ public void setHolyItem(final String holyItem) { - stringChar.setCharacteristic(StringKey.HOLY_ITEM, holyItem); + stringChar.put(StringKey.HOLY_ITEM, holyItem); } /** @@ -547,7 +547,7 @@ */ public void setTitle(final String title) { - stringChar.setCharacteristic(StringKey.TITLE, title); + stringChar.put(StringKey.TITLE, title); } /** @@ -556,7 +556,7 @@ */ public final void setWorshippers(final String worshippers) { - stringChar.setCharacteristic(StringKey.WORSHIPPERS, worshippers); + stringChar.put(StringKey.WORSHIPPERS, worshippers); } /** @@ -567,7 +567,7 @@ * @param aPC * @return List */ - protected List addSpecialAbilitiesToList(final List aList, final PlayerCharacter aPC) + protected List<SpecialAbility> addSpecialAbilitiesToList(final List<SpecialAbility> aList, final PlayerCharacter aPC) { final List specialAbilityList = getListFor(ListKey.SPECIAL_ABILITY); Modified: Trunk/pcgen/code/src/java/pcgen/core/Domain.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/Domain.java 2006-06-09 00:02:59 UTC (rev 1059) +++ Trunk/pcgen/code/src/java/pcgen/core/Domain.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -60,7 +60,7 @@ */ public void addAbility(final String abilities) { - abilityStore.addAbilityInfo(abilities, "", "|,", false, false); + abilityStore.addAbilityInfo(abilities, "", "|,", false); } /** @@ -73,7 +73,7 @@ */ public void addFeat(final String feats) { - abilityStore.addAbilityInfo(feats, "FEAT", "|,", true, false); + abilityStore.addAbilityInfo(feats, "FEAT", "|,", true); } /** @@ -282,7 +282,7 @@ * * @return An Iterator over a group of AbilityInfo objects. */ - Iterator getFeatIterator() + Iterator<Ability> getFeatIterator() { return abilityStore.getKeyIterator("FEAT"); } Modified: Trunk/pcgen/code/src/java/pcgen/core/Equipment.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/Equipment.java 2006-06-09 00:02:59 UTC (rev 1059) +++ Trunk/pcgen/code/src/java/pcgen/core/Equipment.java 2006-06-09 03:25:16 UTC (rev 1060) @@ -43,16 +43,15 @@ import pcgen.core.bonus.BonusObj; import pcgen.core.character.WieldCategory; -import pcgen.core.money.DenominationList; -import pcgen.core.money.Denominations; -import pcgen.core.money.Purse; import pcgen.core.prereq.PrereqHandler; import pcgen.core.prereq.Prerequisite; import pcgen.core.utils.CoreUtility; import pcgen.core.utils.EmptyIterator; +import pcgen.core.utils.IntegerKey; import pcgen.core.utils.ListKey; import pcgen.core.utils.MessageType; import pcgen.core.utils.ShowMessageDelegate; +import pcgen.core.utils.StringKey; import pcgen.io.FileAccess; import pcgen.util.BigDecimalHelper; import pcgen.util.Delta; @@ -60,6 +59,7 @@ import pcgen.util.Logging; import pcgen.util.PJEP; import pcgen.util.PjepPool; +import pcgen.util.PropertyFactory; /** * <code>Equipment</code>. @@ -71,58 +71,58 @@ */ public final class Equipment extends PObject implements Serializable, EquipmentCollection, Comparable, VariableContainer { + private static final long serialVersionUID = 1; + private static final String EQMOD_WEIGHT = "_WEIGHTADD"; private static final String EQMOD_DAMAGE = "_DAMAGE"; /** The item is held in neither hand */ public static final int EQUIPPED_NEITHER = 0; /** The item is held in neither hand - String */ - public static final String EQUIPPED_NEITHER_STR = "Equipped"; - + public static final String EQUIPPED_NEITHER_STR = PropertyFactory.getString("EquipLocation.Equipped_Neither"); /** The item is held in the primary hand */ public static final int EQUIPPED_PRIMARY = 1; /** The item is held in the primary hand - String */ - public static final String EQUIPPED_PRIMARY_STR = "Hand (Primary)"; + public static final String EQUIPPED_PRIMARY_STR = PropertyFactory.getString("EquipLocation.Equipped_Primary"); /** The item is held in the secondary hand */ public static final int EQUIPPED_SECONDARY = 2; /** The item is held in the secondary hand - String */ - public static final String EQUIPPED_SECONDARY_STR = "Hand (Off-hand)"; + public static final String EQUIPPED_SECONDARY_STR = PropertyFactory.getString("EquipLocation.Secondary"); /** The item is held in both hands */ public static final int EQUIPPED_BOTH = 3; /** The item is held in both hands - String */ - public static final String EQUIPPED_BOTH_STR = "Hand (Both)"; + public static final String EQUIPPED_BOTH_STR = PropertyFactory.getString("EquipLocation.Both"); /** The item is either a double weapon or one of a pair of weapons */ public static final int EQUIPPED_TWO_HANDS = 4; /** The item is either a double weapon or one of a pair of weapons - String */ - public static final String EQUIPPED_TWO_HANDS_STR = "Hand (Two-Weapons)"; + public static final String EQUIPPED_TWO_HANDS_STR = PropertyFactory.getString("EquipLocation.TwoHands"); /** The item is held in neither hand and equipped for a temporary bonus */ public static final int EQUIPPED_TEMPBONUS = 5; /** The item is held in neither hand and equipped for a temporary bonus - String */ - public static final String EQUIPPED_TEMPBONUS_STR = "Temp Bonus"; + public static final String EQUIPPED_TEMPBONUS_STR = PropertyFactory.getString("EquipLocation.TempBonus"); /** The item is carried but not equipped */ public static final int CARRIED_NEITHER = 6; /** The item is carried but not equipped - String */ - public static final String CARRIED_NEITHER_STR = "Carried"; + public static final String CARRIED_NEITHER_STR = PropertyFactory.getString("EquipLocation.Carried"); /** The item is contained by another item */ public static final int CONTAINED = 7; /** The item is contained by another item - String */ - public static final String CONTAINED_STR = "Contained"; + public static final String CONTAINED_STR = PropertyFactory.getString("EquipLocation.Contained"); /** The item is not carried */ public static final int NOT_CARRIED = 8; /** The item is not carried - String */ - public static final String NOT_CARRIED_STR = "Not Carried"; + public static final String NOT_CARRIED_STR = PropertyFactory.getString("EquipLocation.NotCarried"); // These are now initialized in the static{} initializer private static final String[] locationStringList = new String[9]; - private static final SortedSet s_equipmentTypes = new TreeSet(); - private static final long serialVersionUID = 1; + private static final SortedSet<String> s_equipmentTypes = new TreeSet<String>(); static { @@ -141,42 +141,55 @@ private BigDecimal cost = BigDecimalHelper.ZERO; private BigDecimal costMod = BigDecimalHelper.ZERO; private BigDecimal weightMod = BigDecimalHelper.ZERO; + + private String baseItem = ""; + + private List<EquipmentModifier> eqModifierList = new ArrayList<EquipmentModifier>(); + private List<SpecialProperty> specialPropertyList = new ArrayList<SpecialProperty>(); + private List<String> vFeatList = null; // virtual feat list + private boolean modifiersAllowed = true; + private boolean modifiersRequired = false; + private EquipmentCollection d_parent = null; - private Float carried = new Float(0); + private List<Equipment> d_containedEquipment = null; + + private Float carried = new Float(0); // OwnedItem + + private int location = NOT_CARRIED; // OwnedItem + private boolean equipped = false; // OwnedItem + private int numberEquipped = 0; + private Float containerWeightCapacity = new Float(0); - private Integer acCheck = new Integer(0); private Integer containerReduceWeight = new Integer(0); + private boolean containerConstantWeight = false; + private boolean d_acceptsChildren = false; + + private Integer acCheck = new Integer(0); private String fumbleRange = ""; // effective DR vales for Armor private Integer eDR = new Integer(-1); private Integer maxDex = new Integer(100); - private Integer range = new Integer(0); private Integer spellFailure = new Integer(0); - private List altEqModifierList = new ArrayList(); - private List altTypeList = null; - private List d_containedEquipment = null; - private List eqModifierList = new ArrayList(); - private List specialPropertyList = new ArrayList(); - private List vFeatList = null; // virtual feat list - private Map d_acceptsTypes = null; - private Map d_childTypes = null; - private Map treasureList = null; - private Purse baseCoinCost; - private Map qualityMap = new HashMap(); - // support tracking of cost as coi... [truncated message content] |