Package org.apache.commons.math3.util
Class Incrementor
java.lang.Object
org.apache.commons.math3.util.Incrementor
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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Deprecated.Defines a method to be called at counter exhaustion. -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.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 TypeMethodDescriptionboolean
Deprecated.Checks whether a single increment is allowed.int
getCount()
Deprecated.Gets the current count.int
Deprecated.Gets the upper limit of the counter.void
Deprecated.Adds one to the current iteration count.void
incrementCount
(int value) Deprecated.Performs multiple increments.void
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 aIntegerSequence.Incrementor
.
-
Constructor Details
-
Incrementor
public Incrementor()Deprecated.Default constructor. For the new instance to be useful, the maximal count must be set by callingsetMaximalCount
. -
Incrementor
public Incrementor(int max) Deprecated.Defines a maximal count.- Parameters:
max
- Maximal count.
-
Incrementor
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
- ifcb
isnull
-
-
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 (seeresetCount()
).- 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 toincrementCount
will trigger aMaxCountExceededException
,true
otherwise.
-
incrementCount
Deprecated.Performs multiple increments. See the otherincrementCount
method).- Parameters:
value
- Number of increments.- Throws:
MaxCountExceededException
- at counter exhaustion.
-
incrementCount
Deprecated.Adds one to the current iteration count. At counter exhaustion, this method will call thetrigger
method of the callback object passed to theconstructor
. If not explictly set, a default callback is used that will throw aMaxCountExceededException
.- Throws:
MaxCountExceededException
- at counter exhaustion, unless a customcallback
has been set at construction.
-
resetCount
public void resetCount()Deprecated.Resets the counter to 0. -
wrap
Deprecated.Create an instance that delegates everything to aIntegerSequence.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. TheIntegerSequence.Incrementor
class should be used instead ofIncrementor
.All methods are mirrored to the underlying
IntegerSequence.Incrementor
, as long as neithersetMaximalCount(int)
norresetCount()
are called. If one of these two methods is called, the created instance becomes independent of theIntegerSequence.Incrementor
used at creation. The rationale is thatIntegerSequence.Incrementor
cannot change their maximal count and cannot be reset.- Parameters:
incrementor
- wrappedIntegerSequence.Incrementor
- Returns:
- an incrementor wrapping an
IntegerSequence.Incrementor
- Since:
- 3.6
-
IntegerSequence.Incrementor
instead.