Package org.apache.commons.math3.util

# Class Incrementor

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

@Deprecated public class Incrementor extends Object
Deprecated.
Use `IntegerSequence.Incrementor` instead.
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

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static interface`
`Incrementor.MaxCountExceededCallback`
Deprecated.
Defines a method to be called at counter exhaustion.

## Constructor Summary

Constructors
Constructor
Description
`Incrementor()`
Deprecated.
Default constructor.
`Incrementor(int max)`
Deprecated.
Defines a maximal count.
`Incrementor(int max, Incrementor.MaxCountExceededCallback cb)`
Deprecated.
Defines a maximal count and a callback method to be triggered at counter exhaustion.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`canIncrement()`
Deprecated.
Checks whether a single increment is allowed.
`int`
`getCount()`
Deprecated.
Gets the current count.
`int`
`getMaximalCount()`
Deprecated.
Gets the upper limit of the counter.
`void`
`incrementCount()`
Deprecated.
Adds one to the current iteration count.
`void`
`incrementCount(int value)`
Deprecated.
Performs multiple increments.
`void`
`resetCount()`
Deprecated.
Resets the counter to 0.
`void`
`setMaximalCount(int max)`
Deprecated.
Sets the upper limit for the counter.
`static Incrementor`
`wrap(IntegerSequence.Incrementor incrementor)`
Deprecated.
Create an instance that delegates everything to a `IntegerSequence.Incrementor`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## 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