This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-rng.git
The following commit(s) were added to refs/heads/master by this push:
new b6ad81e3 Address PMD 7.22 PublicMemberInNonPublicType in
UniformRandomProviderSupport
b6ad81e3 is described below
commit b6ad81e34c37e5cd1bee8756cfedf8120c37a938
Author: Gary Gregory <[email protected]>
AuthorDate: Thu Mar 5 06:31:19 2026 -0500
Address PMD 7.22 PublicMemberInNonPublicType in
UniformRandomProviderSupport
---
.../commons/rng/UniformRandomProviderSupport.java | 37 ++++++++++++++--------
1 file changed, 23 insertions(+), 14 deletions(-)
diff --git
a/commons-rng-client-api/src/main/java/org/apache/commons/rng/UniformRandomProviderSupport.java
b/commons-rng-client-api/src/main/java/org/apache/commons/rng/UniformRandomProviderSupport.java
index 7b9d9347..b6f9175d 100644
---
a/commons-rng-client-api/src/main/java/org/apache/commons/rng/UniformRandomProviderSupport.java
+++
b/commons-rng-client-api/src/main/java/org/apache/commons/rng/UniformRandomProviderSupport.java
@@ -457,40 +457,49 @@ final class UniformRandomProviderSupport {
* Base class for spliterators for streams of values. Contains the range
current position and
* end position. Splitting is expected to divide the range in half and
create instances
* that span the two ranges.
+ *
+ * @param <T> the type of elements returned by this {@link Spliterator}.
*/
- private static class ProviderSpliterator {
+ private abstract static class AbstractProviderSpliterator<T> implements
Spliterator<T> {
+
/** The current position in the range. */
protected long position;
+
/** The upper limit of the range. */
protected final long end;
/**
- * @param start Start position of the stream (inclusive).
+ * Constructs a new instance.
+ *
+ * @param position Start position of the stream (inclusive).
* @param end Upper limit of the stream (exclusive).
*/
- ProviderSpliterator(long start, long end) {
- position = start;
+ AbstractProviderSpliterator(long position, long end) {
+ this.position = position;
this.end = end;
}
- // Methods required by all Spliterators
-
- // See Spliterator.estimateSize()
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public long estimateSize() {
return end - position;
}
- // See Spliterator.characteristics()
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public int characteristics() {
- return Spliterator.SIZED | Spliterator.SUBSIZED |
Spliterator.NONNULL | Spliterator.IMMUTABLE;
+ return SIZED | SUBSIZED | NONNULL | IMMUTABLE;
}
}
/**
* Spliterator for streams of SplittableUniformRandomProvider.
*/
- static class ProviderSplitsSpliterator extends ProviderSpliterator
- implements Spliterator<SplittableUniformRandomProvider> {
+ static class ProviderSplitsSpliterator extends
AbstractProviderSpliterator<SplittableUniformRandomProvider> {
/** Source of randomness used to initialise the new instances. */
private final SplittableUniformRandomProvider source;
/** Generator to split to create new instances. */
@@ -554,7 +563,7 @@ final class UniformRandomProviderSupport {
/**
* Spliterator for streams of int values that may be recursively split.
*/
- static class ProviderIntsSpliterator extends ProviderSpliterator
+ static class ProviderIntsSpliterator extends
AbstractProviderSpliterator<Integer>
implements Spliterator.OfInt {
/** Source of randomness. */
private final SplittableUniformRandomProvider source;
@@ -619,7 +628,7 @@ final class UniformRandomProviderSupport {
/**
* Spliterator for streams of long values that may be recursively split.
*/
- static class ProviderLongsSpliterator extends ProviderSpliterator
+ static class ProviderLongsSpliterator extends
AbstractProviderSpliterator<Long>
implements Spliterator.OfLong {
/** Source of randomness. */
private final SplittableUniformRandomProvider source;
@@ -684,7 +693,7 @@ final class UniformRandomProviderSupport {
/**
* Spliterator for streams of double values that may be recursively split.
*/
- static class ProviderDoublesSpliterator extends ProviderSpliterator
+ static class ProviderDoublesSpliterator extends
AbstractProviderSpliterator<Double>
implements Spliterator.OfDouble {
/** Source of randomness. */
private final SplittableUniformRandomProvider source;