# Interface TextRandomProvider

All Superinterfaces:
  `IntUnaryOperator`

public interface TextRandomProvider extends IntUnaryOperator
TextRandomProvider implementations are used by `RandomStringGenerator` as a source of randomness. It is highly recommended that the Apache Commons RNG library be used to provide the random number generation.

`TextRandomProvider` is a functional interface and need not be explicitly implemented.

For example:

    UniformRandomProvider rng = RandomSource.create(...);
    RandomStringGenerator gen = RandomStringGenerator.builder()
        .usingRandom(rng::nextInt)
        // additional builder calls as needed
        .build();

Since:
  1.1

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default int`
  `applyAsInt(int max)`
  Generates an int value between 0 (inclusive) and the specified value (exclusive).
  `int`
  `nextInt(int max)`
  Deprecated.
  Use `applyAsInt(int)`.

  ### Methods inherited from interface IntUnaryOperator

  `andThen, compose`

- ## Method Details

  - ### applyAsInt

    default int applyAsInt(int max)
    Generates an int value between 0 (inclusive) and the specified value (exclusive).
    Specified by:
      `applyAsInt` in interface `IntUnaryOperator`
    Parameters:
      `max` - Bound on the random number to be returned. Must be positive.
    Returns:
      a random int value between 0 (inclusive) and max (exclusive).
    Since:
      1.14.0

  - ### nextInt

    @Deprecated int nextInt(int max)
    Deprecated.
    Use `applyAsInt(int)`.
    Generates an int value between 0 (inclusive) and the specified value (exclusive).
    Parameters:
      `max` - Bound on the random number to be returned. Must be positive.
    Returns:
      a random int value between 0 (inclusive) and max (exclusive).