From: <th...@us...> - 2009-02-13 23:43:51
|
Revision: 9373 http://pcgen.svn.sourceforge.net/pcgen/?rev=9373&view=rev Author: thpr Date: 2009-02-13 23:43:44 +0000 (Fri, 13 Feb 2009) Log Message: ----------- more doc updates Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/cdom/inst/ObjectCache.java Trunk/pcgen/code/src/java/pcgen/cdom/list/AbilityList.java Modified: Trunk/pcgen/code/src/java/pcgen/cdom/inst/ObjectCache.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/cdom/inst/ObjectCache.java 2009-02-13 23:07:26 UTC (rev 9372) +++ Trunk/pcgen/code/src/java/pcgen/cdom/inst/ObjectCache.java 2009-02-13 23:43:44 UTC (rev 9373) @@ -36,23 +36,32 @@ import pcgen.core.prereq.PrereqHandler; import pcgen.util.enumeration.VisionType; +/** + * An ObjectCache is a CDOMObject designed to serve as a cahce of information + * for a PlayerCharacter. It is therefore somewhat simple (non-typed) and + * contains some specialized caching functions. + */ public class ObjectCache extends CDOMObject { + /** + * Returns false, as ObjectCache never has a type. + */ @Override public boolean isType(String str) { return false; } - public void initializeListFor(ListKey<?> lk) - { - listChar.initializeListFor(lk); - } - + /** + * Initializes the Vision cache for the given PlayerCharacter. + * + * @param pc + * The PlayerCharacter to be used to initialize the Vision cache. + */ public void initializeVisionCache(PlayerCharacter pc) { - initializeListFor(ListKey.VISION_CACHE); + listChar.initializeListFor(ListKey.VISION_CACHE); Map<VisionType, Integer> map = new HashMap<VisionType, Integer>(); for (CDOMObject cdo : pc.getCDOMObjectList()) { @@ -110,9 +119,27 @@ } addAllToListFor(ListKey.VISION_CACHE, set); } - + + /** + * Stores a cache of the cost of each Skill based on the Skill's key and + * PCClass + */ private final DoubleKeyMap<String, PCClass, SkillCost> skillCostMap = new DoubleKeyMap<String, PCClass, SkillCost>(); + /** + * Returns the cost of a given Skill for the given PlayerCharacter and + * PCClass. + * + * @param pc + * The PlayerCharacter for which the SkillCost is being + * calculated. + * @param skill + * The Skill for which the SkillCost is being calculated. + * @param pcc + * The PCClass for which the SkillCost is being calculated. + * @return The cost of a given Skill for the given PlayerCharacter and + * PCClass. + */ public SkillCost getSkillCost(PlayerCharacter pc, Skill skill, PCClass pcc) { String sk = skill.getKeyName(); Modified: Trunk/pcgen/code/src/java/pcgen/cdom/list/AbilityList.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/cdom/list/AbilityList.java 2009-02-13 23:07:26 UTC (rev 9372) +++ Trunk/pcgen/code/src/java/pcgen/cdom/list/AbilityList.java 2009-02-13 23:43:44 UTC (rev 9373) @@ -36,11 +36,13 @@ public class AbilityList extends CDOMListObject<Ability> { - - public static final DoubleKeyMap<Category<Ability>, Ability.Nature, CDOMReference<AbilityList>> map = - new DoubleKeyMap<Category<Ability>, Ability.Nature, CDOMReference<AbilityList>>(); - /** + * Stores references to the "master" set of lists that are unique for a + * given Category/Nature combination. + */ + public static final DoubleKeyMap<Category<Ability>, Ability.Nature, CDOMReference<AbilityList>> MASTER_MAP = new DoubleKeyMap<Category<Ability>, Ability.Nature, CDOMReference<AbilityList>>(); + + /** * Returns the Ability Class object (Ability.class) * * @return the Ability Class object (Ability.class) @@ -59,26 +61,57 @@ return false; } - public static CDOMReference<AbilityList> getAbilityListReference(Category<Ability> category, - Nature nature) + /** + * Retrieves a reference to the "master" list for a given Category/Nature + * combination. The appropriate reference and list are constructed if they + * do not already exist. + * + * @param category + * The Ability Category for which the "master" AbilityList should + * be returned. + * @param nature + * The Ability Nature for which the "master" AbilityList should + * be returned. + * @return A reference to the "master" list for a given Category/Nature + * combination. + */ + public static CDOMReference<AbilityList> getAbilityListReference( + Category<Ability> category, Nature nature) { - CDOMReference<AbilityList> list = map.get(category, nature); + CDOMReference<AbilityList> list = MASTER_MAP.get(category, nature); if (list == null) { AbilityList al = new AbilityList(); al.setName("*" + category.toString() + ":" + nature.toString()); list = CDOMDirectSingleRef.getRef(al); - map.put(category, nature, list); + MASTER_MAP.put(category, nature, list); } return list; } + /** + * Returns a Collection of references to all of the "master" AbilityList + * objects retrieved through the getAbilityListReference method. + * + * This method is value-semantic in that ownership of the returned + * Collection is transferred to the class calling this method. Modification + * of the returned Collection will not modify the "master" AbilityList + * collection and modification of the "master" AbilityList collection + * through subsequent calls of getAbilityListReference will not modify the + * returned Collection. + * + * This method will not return null, even if getAbilityListReference was + * never called. + * + * @return A Collection of references to all of the "master" AbilityList + * objects retrieved through the getAbilityListReference method. + */ public static Collection<CDOMReference<AbilityList>> getAbilityLists() { List<CDOMReference<AbilityList>> list = new ArrayList<CDOMReference<AbilityList>>(); - for (Category<Ability> cat : map.getKeySet()) + for (Category<Ability> cat : MASTER_MAP.getKeySet()) { - list.addAll(map.values(cat)); + list.addAll(MASTER_MAP.values(cat)); } return list; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |