jmud-0.11/
jmud-0.11/bin/
jmud-0.11/doc/
jmud-0.11/rec/
jmud-0.11/rec/mun/
jmud-0.11/rec/mun/grecia/
jmud-0.11/rec/mun/gunnar/
jmud-0.11/rec/qua/
jmud-0.11/src/bool/
jmud-0.11/src/clone/
jmud-0.11/src/integer/
jmud-0.11/src/misc/
jmud-0.11/src/string/
jmud-0.11/src/util/bit/
jmud-0.11/src/util/color/
jmud-0.11/src/util/file/
jmud-0.11/src/util/jgp/adaptor/
jmud-0.11/src/util/jgp/algorithm/
jmud-0.11/src/util/jgp/container/
jmud-0.11/src/util/jgp/functor/
jmud-0.11/src/util/jgp/interfaces/
jmud-0.11/src/util/jgp/predicate/
jmud-0.11/src/util/log/
jmud-0.11/src/util/state/
jmud-0.11/trash/
class Counter {

    private int value;

    Counter() {
	set(0);
    }

    Counter(int v) {
	set(v);
    }

    void set(int v) {
	value = v;
    }

    synchronized void inc(int increment) {
	value += increment;
    }

    synchronized void inc() {
	++value;
    }

    synchronized void dec(int decrement) {
	value -= decrement;
    }

    synchronized void dec() {
	--value;
    }

    synchronized boolean decIfGreaterThan(int low) {
	if (value > low) {
	    --value;
	    return true;
	}
	return false;
    }

    synchronized boolean incIfLessThan(int high) {
	if (value < high) {
	    ++value;
	    return true;
	}
	return false;
    }
}