Class Incrementor

java.lang.Object
org.apache.commons.math3.util.Incrementor

@Deprecated public class Incrementor extends Object
Deprecated.
Utility that increments a counter until a maximum is reached, at which point, the instance will by default throw a MaxCountExceededException. However, the user is able to override this behaviour by defining a custom callback, in order to e.g. select which exception must be thrown.
Since:
3.0
  • Constructor Details

    • Incrementor

      public Incrementor()
      Deprecated.
      Default constructor. For the new instance to be useful, the maximal count must be set by calling setMaximalCount.
    • Incrementor

      public Incrementor(int max)
      Deprecated.
      Defines a maximal count.
      Parameters:
      max - Maximal count.
    • Incrementor

      public Incrementor(int max, Incrementor.MaxCountExceededCallback cb) throws NullArgumentException
      Deprecated.
      Defines a maximal count and a callback method to be triggered at counter exhaustion.
      Parameters:
      max - Maximal count.
      cb - Function to be called when the maximal count has been reached.
      Throws:
      NullArgumentException - if cb is null
  • Method Details

    • setMaximalCount

      public void setMaximalCount(int max)
      Deprecated.
      Sets the upper limit for the counter. This does not automatically reset the current count to zero (see resetCount()).
      Parameters:
      max - Upper limit of the counter.
    • getMaximalCount

      public int getMaximalCount()
      Deprecated.
      Gets the upper limit of the counter.
      Returns:
      the counter upper limit.
    • getCount

      public int getCount()
      Deprecated.
      Gets the current count.
      Returns:
      the current count.
    • canIncrement

      public boolean canIncrement()
      Deprecated.
      Checks whether a single increment is allowed.
      Returns:
      false if the next call to incrementCount will trigger a MaxCountExceededException, true otherwise.
    • incrementCount

      public void incrementCount(int value) throws MaxCountExceededException
      Deprecated.
      Performs multiple increments. See the other incrementCount method).
      Parameters:
      value - Number of increments.
      Throws:
      MaxCountExceededException - at counter exhaustion.
    • incrementCount

      public void incrementCount() throws MaxCountExceededException
      Deprecated.
      Adds one to the current iteration count. At counter exhaustion, this method will call the trigger method of the callback object passed to the constructor. If not explictly set, a default callback is used that will throw a MaxCountExceededException.
      Throws:
      MaxCountExceededException - at counter exhaustion, unless a custom callback has been set at construction.
    • resetCount

      public void resetCount()
      Deprecated.
      Resets the counter to 0.
    • wrap

      public static Incrementor wrap(IntegerSequence.Incrementor incrementor)
      Deprecated.
      Create an instance that delegates everything to a IntegerSequence.Incrementor.

      This factory method is intended only as a temporary hack for internal use in Apache Commons Math 3.X series, when Incrementor is required in interface (as a return value or in protected fields). It should not be used in other cases. The IntegerSequence.Incrementor class should be used instead of Incrementor.

      All methods are mirrored to the underlying IntegerSequence.Incrementor, as long as neither setMaximalCount(int) nor resetCount() are called. If one of these two methods is called, the created instance becomes independent of the IntegerSequence.Incrementor used at creation. The rationale is that IntegerSequence.Incrementor cannot change their maximal count and cannot be reset.

      Parameters:
      incrementor - wrapped IntegerSequence.Incrementor
      Returns:
      an incrementor wrapping an IntegerSequence.Incrementor
      Since:
      3.6