类 Incrementor
java.lang.Object
org.hipparchus.util.Incrementor
Utility that increments a counter until a maximum is reached, at which point, the instance will by default throw a
MathIllegalStateException
. 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.
-
嵌套类概要
修饰符和类型类说明static interface
Defines a method to be called at counter exhaustion. -
构造器概要
构造器说明创建一个Incrementor。Incrementor
(int max) 创建一个Incrementor。Incrementor
(int max, Incrementor.MaxCountExceededCallback cb) 创建一个Incrementor。 -
方法概要
修饰符和类型方法说明boolean
检查是否允许递增计数器nTimes
。boolean
canIncrement
(int nTimes) 检查是否允许多次递增计数器。int
getCount()
获取当前计数。int
获取计数器的上限。void
将递增值添加到当前迭代计数中。void
increment
(int nTimes) 执行多次递增。void
reset()
将计数器重置为0。使用给定的回调创建一个新实例。withCount
(int value) 创建一个新实例并将计数器设置为给定值。withMaximalCount
(int max) 使用给定的最大计数创建一个新实例。
-
构造器详细资料
-
Incrementor
public Incrementor()创建一个Incrementor。最大值将设置为
Integer.MAX_VALUE
。 -
Incrementor
public Incrementor(int max) 创建一个Incrementor。- 参数:
-
max
- 最大计数。 - 抛出:
-
MathIllegalArgumentException
- 如果max
为负数。
-
Incrementor
创建一个Incrementor。- 参数:
-
max
- 最大计数。 -
cb
- 达到最大计数时要调用的函数。 - 抛出:
-
NullArgumentException
- 如果cb
为null
。 -
MathIllegalArgumentException
- 如果max
为负数。
-
-
方法详细资料
-
withCount
创建一个新实例并将计数器设置为给定值。- 参数:
-
value
- 计数器的值。 - 返回:
- 一个新实例。
-
withMaximalCount
创建一个新实例并将计数器设置为给定的最大计数。计数器将重置为0。- 参数:
-
max
- 最大计数。 - 返回:
- 一个新实例。
- 抛出:
-
MathIllegalArgumentException
- 如果max
为负数。
-
withCallback
创建一个新实例并设置计数器为给定的值。计数器将重置为0。- 参数:
-
cb
- 在计数器耗尽时要调用的回调。 - 返回:
- 一个新实例。
-
getMaximalCount
public int getMaximalCount()获取计数器的上限。- 返回:
- 计数器的上限。
-
getCount
public int getCount()获取当前计数。- 返回:
- 当前计数。
-
canIncrement
public boolean canIncrement()检查是否允许递增计数器nTimes
。- 返回:
-
如果调用
increment()
将触发MathIllegalStateException
,则返回false
,否则返回true
。
-
canIncrement
public boolean canIncrement(int nTimes) 检查是否允许多次递增计数器。- 参数:
-
nTimes
- 递增次数。 - 返回:
-
如果调用
increment(nTimes)
将调用callback
,则返回false
,否则返回true
。 - 抛出:
-
MathIllegalArgumentException
- 如果nTimes
为负数。
-
increment
public void increment(int nTimes) 执行多次递增。- 参数:
-
nTimes
- 递增次数。 - 抛出:
-
MathIllegalArgumentException
- 如果nTimes
为负数。 - 另请参阅:
-
increment
public void increment()将递增值添加到当前迭代计数中。在计数器耗尽时,此方法将调用传递给withCallback(MaxCountExceededCallback)
方法的回调对象的trigger
方法。- 另请参阅:
-
reset
public void reset()将计数器重置为0。
-