Reverted changes committed in r1353140. In o.a.c.m3.util.Incrementor, a NullPointerException is now thrown if the call-back function specified at construction is null. o.a.c.m3.util.IterationManager was updated accordingly (used to explicitely use the constructor with null argument).

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1353386 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Sebastien Brisard 2012-06-25 05:22:58 +00:00
parent 2881c10609
commit 692c542c5e
2 changed files with 20 additions and 15 deletions

View File

@ -58,7 +58,13 @@ public class Incrementor {
* @param max Maximal count.
*/
public Incrementor(int max) {
this(max, null);
this(max,
new MaxCountExceededCallback() {
/** {@inheritDoc} */
public void trigger(int max) {
throw new MaxCountExceededException(max);
}
});
}
/**
@ -66,22 +72,16 @@ public class Incrementor {
* counter exhaustion.
*
* @param max Maximal count.
* @param cb Function to be called when the maximal count has been reached
* (can be {@code null}).
* @param cb Function to be called when the maximal count has been reached.
* @throws NullPointerException if {@code cb} is {@code null}
*/
public Incrementor(int max,
MaxCountExceededCallback cb) {
maximalCount = max;
if (cb != null) {
maxCountCallback = cb;
} else {
maxCountCallback = new MaxCountExceededCallback() {
/** {@inheritDoc} */
public void trigger(int max) {
throw new MaxCountExceededException(max);
}
};
if (cb == null){
throw new NullPointerException();
}
maximalCount = max;
maxCountCallback = cb;
}
/**

View File

@ -43,7 +43,8 @@ public class IterationManager {
* @param maxIterations the maximum number of iterations
*/
public IterationManager(final int maxIterations) {
this(maxIterations, null);
this.iterations = new Incrementor(maxIterations);
this.listeners = new CopyOnWriteArrayList<IterationListener>();
}
/**
@ -51,10 +52,14 @@ public class IterationManager {
*
* @param maxIterations the maximum number of iterations
* @param callBack the function to be called when the maximum number of
* iterations has been reached (can be {@code null})
* iterations has been reached
* @throws NullPointerException if {@code callBack} is {@code null}
*/
public IterationManager(final int maxIterations,
final Incrementor.MaxCountExceededCallback callBack) {
if (callBack == null) {
throw new NullPointerException();
}
this.iterations = new Incrementor(maxIterations, callBack);
this.listeners = new CopyOnWriteArrayList<IterationListener>();
}