// Filename Counters/LimitedCounter.java. // First extension of the Counters hierarchy defining // limits upon the range of values which can be counted. // // Written for JFL book Chapter 3. // Fintan Culwin, v0.1, January 1997. // Modified for classroom demonstration // abstract class LimitedCounter extends BasicCounter { public class LimitedCounter extends BasicCounter { static private final int defaultMinimum = 0; static private final int defaultMaximum = 999; private int miniumumCount; private int maximumCount; // The principal Constructor. public LimitedCounter( int minToCount, int maxToCount) { super( minToCount); miniumumCount = minToCount; maximumCount = maxToCount; } // End principal Constructor. // Default Constructor. public LimitedCounter() { this ( defaultMinimum, defaultMaximum); } // End Default Constructor. public boolean isAtMinimum() { return this.numberCountedIs() == miniumumCount; } // End isAtMinimum. public boolean isAtMaximum() { return super.numberCountedIs() == maximumCount; } // End isAtMaximum. public int minimumIs() { return miniumumCount; } // End minimumIs . public int maximumIs() { return maximumCount; } // End maximumIs. public void count() { super.count(); } // End count. public int countIs() { return super.numberCountedIs(); } } // End class LimitedCounter.