This is an automated email from the ASF dual-hosted git repository.

aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-rng.git

commit b98e67dd44c45a311957b2147dbebd28a42a6476
Author: Alex Herbert <aherb...@apache.org>
AuthorDate: Mon May 19 14:34:55 2025 +0100

    pmd fix: add FunctionalInterface annotation
---
 .../src/main/java/org/apache/commons/rng/UniformRandomProvider.java     | 1 +
 .../main/java/org/apache/commons/rng/core/source32/RandomIntSource.java | 1 +
 .../java/org/apache/commons/rng/core/source64/RandomLongSource.java     | 1 +
 .../src/main/java/org/apache/commons/rng/core/util/RandomStreams.java   | 1 +
 .../main/java/org/apache/commons/rng/sampling/CompositeSamplers.java    | 2 ++
 .../src/main/java/org/apache/commons/rng/sampling/ObjectSampler.java    | 1 +
 .../main/java/org/apache/commons/rng/sampling/SharedStateSampler.java   | 1 +
 .../distribution/ContinuousInverseCumulativeProbabilityFunction.java    | 1 +
 .../org/apache/commons/rng/sampling/distribution/ContinuousSampler.java | 1 +
 .../distribution/DiscreteInverseCumulativeProbabilityFunction.java      | 1 +
 .../org/apache/commons/rng/sampling/distribution/DiscreteSampler.java   | 1 +
 .../java/org/apache/commons/rng/sampling/distribution/LongSampler.java  | 1 +
 .../commons/rng/sampling/distribution/NormalizedGaussianSampler.java    | 1 +
 .../main/java/org/apache/commons/rng/simple/internal/SeedConverter.java | 1 +
 14 files changed, 15 insertions(+)

diff --git 
a/commons-rng-client-api/src/main/java/org/apache/commons/rng/UniformRandomProvider.java
 
b/commons-rng-client-api/src/main/java/org/apache/commons/rng/UniformRandomProvider.java
index d650cd6d..642fce79 100644
--- 
a/commons-rng-client-api/src/main/java/org/apache/commons/rng/UniformRandomProvider.java
+++ 
b/commons-rng-client-api/src/main/java/org/apache/commons/rng/UniformRandomProvider.java
@@ -26,6 +26,7 @@ import java.util.stream.LongStream;
  *
  * @since 1.0
  */
+@FunctionalInterface
 public interface UniformRandomProvider {
     /**
      * Generates {@code byte} values and places them into a user-supplied 
array.
diff --git 
a/commons-rng-core/src/main/java/org/apache/commons/rng/core/source32/RandomIntSource.java
 
b/commons-rng-core/src/main/java/org/apache/commons/rng/core/source32/RandomIntSource.java
index 337aff7e..24f7aa1e 100644
--- 
a/commons-rng-core/src/main/java/org/apache/commons/rng/core/source32/RandomIntSource.java
+++ 
b/commons-rng-core/src/main/java/org/apache/commons/rng/core/source32/RandomIntSource.java
@@ -22,6 +22,7 @@ package org.apache.commons.rng.core.source32;
  *
  * @since 1.0
  */
+@FunctionalInterface
 public interface RandomIntSource {
     /**
      * Return the next random value.
diff --git 
a/commons-rng-core/src/main/java/org/apache/commons/rng/core/source64/RandomLongSource.java
 
b/commons-rng-core/src/main/java/org/apache/commons/rng/core/source64/RandomLongSource.java
index e2216d6b..b17a339e 100644
--- 
a/commons-rng-core/src/main/java/org/apache/commons/rng/core/source64/RandomLongSource.java
+++ 
b/commons-rng-core/src/main/java/org/apache/commons/rng/core/source64/RandomLongSource.java
@@ -22,6 +22,7 @@ package org.apache.commons.rng.core.source64;
  *
  * @since 1.0
  */
+@FunctionalInterface
 public interface RandomLongSource {
     /**
      * Return the next random value.
diff --git 
a/commons-rng-core/src/main/java/org/apache/commons/rng/core/util/RandomStreams.java
 
b/commons-rng-core/src/main/java/org/apache/commons/rng/core/util/RandomStreams.java
index d879d3c2..b4c3995e 100644
--- 
a/commons-rng-core/src/main/java/org/apache/commons/rng/core/util/RandomStreams.java
+++ 
b/commons-rng-core/src/main/java/org/apache/commons/rng/core/util/RandomStreams.java
@@ -40,6 +40,7 @@ public final class RandomStreams {
      * @param <T> the object type
      * @since 1.5
      */
+    @FunctionalInterface
     public interface SeededObjectFactory<T> {
         /**
          * Creates the object.
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/CompositeSamplers.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/CompositeSamplers.java
index c494ec42..6f7fb5b9 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/CompositeSamplers.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/CompositeSamplers.java
@@ -73,6 +73,7 @@ public final class CompositeSamplers {
      * <a 
href="http://en.wikipedia.org/wiki/Probability_distribution#Discrete_probability_distribution";>
      * discrete probability distribution</a>.
      */
+    @FunctionalInterface
     public interface DiscreteProbabilitySamplerFactory {
         /**
          * Creates the sampler.
@@ -273,6 +274,7 @@ public final class CompositeSamplers {
          *
          * @param <S> Type of sampler
          */
+        @FunctionalInterface
         interface SamplerFactory<S> {
             /**
              * Creates a new composite sampler.
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ObjectSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ObjectSampler.java
index 29cb0d85..46298341 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ObjectSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/ObjectSampler.java
@@ -25,6 +25,7 @@ import java.util.stream.Stream;
  * @param <T> Type of the sample.
  * @since 1.4
  */
+@FunctionalInterface
 public interface ObjectSampler<T> {
     /**
      * Create an object sample.
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/SharedStateSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/SharedStateSampler.java
index ea928d64..d30cd0eb 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/SharedStateSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/SharedStateSampler.java
@@ -26,6 +26,7 @@ import org.apache.commons.rng.UniformRandomProvider;
  * @param <R> Type of the sampler.
  * @since 1.3
  */
+@FunctionalInterface
 public interface SharedStateSampler<R> {
     /**
      * Create a new instance of the sampler with the same underlying state 
using the given
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousInverseCumulativeProbabilityFunction.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousInverseCumulativeProbabilityFunction.java
index f82432ff..9ec133c2 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousInverseCumulativeProbabilityFunction.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousInverseCumulativeProbabilityFunction.java
@@ -23,6 +23,7 @@ package org.apache.commons.rng.sampling.distribution;
  *
  * @since 1.0
  */
+@FunctionalInterface
 public interface ContinuousInverseCumulativeProbabilityFunction {
     /**
      * Computes the quantile function of the distribution.
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousSampler.java
index 10d81ac2..5c8f15d4 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousSampler.java
@@ -23,6 +23,7 @@ import java.util.stream.DoubleStream;
  *
  * @since 1.0
  */
+@FunctionalInterface
 public interface ContinuousSampler {
     /**
      * Creates a {@code double} sample.
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteInverseCumulativeProbabilityFunction.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteInverseCumulativeProbabilityFunction.java
index 17b4b4aa..15ee3505 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteInverseCumulativeProbabilityFunction.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteInverseCumulativeProbabilityFunction.java
@@ -23,6 +23,7 @@ package org.apache.commons.rng.sampling.distribution;
  *
  * @since 1.0
  */
+@FunctionalInterface
 public interface DiscreteInverseCumulativeProbabilityFunction {
     /**
      * Computes the quantile function of the distribution.
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteSampler.java
index 0db90b4f..698887d9 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteSampler.java
@@ -23,6 +23,7 @@ import java.util.stream.IntStream;
  *
  * @since 1.0
  */
+@FunctionalInterface
 public interface DiscreteSampler {
     /**
      * Creates an {@code int} sample.
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/LongSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/LongSampler.java
index d0b99b8b..635c946a 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/LongSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/LongSampler.java
@@ -23,6 +23,7 @@ import java.util.stream.LongStream;
  *
  * @since 1.4
  */
+@FunctionalInterface
 public interface LongSampler {
     /**
      * Creates a {@code long} sample.
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/NormalizedGaussianSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/NormalizedGaussianSampler.java
index d62915bd..a8a98c89 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/NormalizedGaussianSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/NormalizedGaussianSampler.java
@@ -23,4 +23,5 @@ package org.apache.commons.rng.sampling.distribution;
  *
  * @since 1.1
  */
+@FunctionalInterface
 public interface NormalizedGaussianSampler extends ContinuousSampler {}
diff --git 
a/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/internal/SeedConverter.java
 
b/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/internal/SeedConverter.java
index af616fee..3dacf816 100644
--- 
a/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/internal/SeedConverter.java
+++ 
b/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/internal/SeedConverter.java
@@ -24,6 +24,7 @@ package org.apache.commons.rng.simple.internal;
  *
  * @since 1.0
  */
+@FunctionalInterface
 public interface SeedConverter<IN, OUT> {
     /**
      * Converts seed from input type to output type.

Reply via email to