From: <jfr...@us...> - 2008-03-01 02:48:02
|
Revision: 5398 http://pcgen.svn.sourceforge.net/pcgen/?rev=5398&view=rev Author: jfrazierjr Date: 2008-02-29 18:48:05 -0800 (Fri, 29 Feb 2008) Log Message: ----------- Added methods to get abilitycategories and natures inside an object. This will be used to look at all abilities to find specific items where you don't know the category the item is in. Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/core/PObject.java Modified: Trunk/pcgen/code/src/java/pcgen/core/PObject.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/PObject.java 2008-02-29 23:37:34 UTC (rev 5397) +++ Trunk/pcgen/code/src/java/pcgen/core/PObject.java 2008-03-01 02:48:05 UTC (rev 5398) @@ -42,6 +42,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import pcgen.core.Ability.Nature; import pcgen.core.bonus.Bonus; import pcgen.core.bonus.BonusObj; import pcgen.core.bonus.BonusUtilities; @@ -80,6 +81,10 @@ * @author Bryan McRoberts <mer...@us...> * @version $Revision$ */ +/** + * @author Joe.Frazier + * + */ public class PObject extends PrereqObject implements Cloneable, Serializable, Comparable<Object>, SourcedObject, KeyedListContainer, KeyedObject { @@ -4308,6 +4313,50 @@ } return ret; } + + /** + * @return The ability categories as a List + * + */ + public List<AbilityCategory> getAbilityCategories() + { + + if ( theAbilities == null ) + { + return new ArrayList<AbilityCategory>(); + } + final List<AbilityCategory> abList = new ArrayList<AbilityCategory>(); + final Set<AbilityCategory> keys = theAbilities.getKeySet(); + + for(AbilityCategory ab: keys) + { + abList.add(ab); + } + + return Collections.unmodifiableList(abList); + } + + /** + * @param category + * @return Return the ability nature (enum) as a list. + */ + public List<Ability.Nature> getAbilityNatures(final AbilityCategory category) + { + if ( theAbilities == null || theAbilities.isEmpty() ) + { + return new ArrayList<Ability.Nature>(); + } + final Set<Ability.Nature> keys = theAbilities.getSecondaryKeySet(category); + final List<Ability.Nature> abNature = new ArrayList<Ability.Nature>(); + + for(Ability.Nature nature: keys) + { + abNature.add(nature); + } + return Collections.unmodifiableList(abNature); + } + + /** * Get the list of bonuses for this object This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |