diff --git a/src/java/com/threerings/stats/data/IntStatMinimumer.java b/src/java/com/threerings/stats/data/IntStatMinimumer.java new file mode 100644 index 00000000..b7221cc9 --- /dev/null +++ b/src/java/com/threerings/stats/data/IntStatMinimumer.java @@ -0,0 +1,49 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2007 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.stats.data; + +/** + * Ensures that a particular stat has been set to a minimum value. + */ +public class IntStatMinimumer extends StatModifier +{ + public IntStatMinimumer (Stat.Type type, int minimum) + { + super(type); + _minimum = minimum; + } + + /** Constructs an empty IntStatIncrementer (for Streaming purposes). */ + public IntStatMinimumer () + { + } + + @Override // from StatModifier + public void modify (IntStat stat) + { + if (stat.getValue() < _minimum) { + stat.setValue(_minimum); + } + } + + protected int _minimum; +}