From ae8ec1e2acad892e62354775eb218bb50d713f86 Mon Sep 17 00:00:00 2001 From: Tom Conkling Date: Tue, 22 Jul 2008 00:39:41 +0000 Subject: [PATCH] StatSet.addToSetStat, for IntSetStats git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@671 c613c5cb-e716-0410-b11b-feb51c14d237 --- .../com/threerings/stats/data/StatSet.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/java/com/threerings/stats/data/StatSet.java b/src/java/com/threerings/stats/data/StatSet.java index d0c5f99e..61fdb3c0 100644 --- a/src/java/com/threerings/stats/data/StatSet.java +++ b/src/java/com/threerings/stats/data/StatSet.java @@ -108,7 +108,7 @@ public final class StatSet extends DSet updateStat(stat); } } - + /** * Adds a string value to a {@link StringSetStat}. * @@ -127,6 +127,24 @@ public final class StatSet extends DSet } } + /** + * Adds an int value to a {@link IntSetStat}. + * + * @exception ClassCastException thrown if the registered type of the specified stat is not an + * {@link IntSetStat}. + */ + public void addToSetStat (Stat.Type type, int value) + { + IntSetStat stat = (IntSetStat)get(type.name()); + if (stat == null) { + stat = (IntSetStat)type.newStat(); + stat.add(value); + addStat(stat); + } else if (stat.add(value)) { + updateStat(stat); + } + } + /** * Increments a string value in a {@link StringMapStat}. * @@ -172,7 +190,7 @@ public final class StatSet extends DSet IntArrayStat stat = (IntArrayStat)get(type.name()); return (stat == null) ? new int[0] : stat.getValue(); } - + /** * Returns true if the specified {@link StringSetStat} contains the specified value, false * otherwise.