# Class AdjustableNumberGenerator<T extends Number>

java.lang.Object
org.uncommons.maths.number.AdjustableNumberGenerator<T>

Type Parameters:
  `T` - The type of number generated by this number generator.

All Implemented Interfaces:
  `NumberGenerator<T>`

public class AdjustableNumberGenerator<T extends Number> extends Object implements NumberGenerator<T>
Implementation of `NumberGenerator` that works similarly to `ConstantGenerator` but allows the returned value to be changed after instantiation. The most useful application of this type of number generator is to permit runtime re-configuration of objects that rely on `NumberGenerator`s for their parameters. This can be achieved by creating UI components (e.g. sliders and spinners) that invoke `setValue(Number)` when their state changes.

## Constructor Summary

Constructors
Constructor
Description
`AdjustableNumberGenerator(T value)`

## Method Summary

Modifier and Type
Method
Description
`T`
`nextValue()`
`void`
`setValue(T value)`
Change the value that is returned by this generator.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AdjustableNumberGenerator

public AdjustableNumberGenerator(T value)

Parameters:
  `value` - The initial value returned by all invocations of `nextValue()` (until it is modified by a call to `setValue(Number)`.

## Method Details

### setValue

public void setValue(T value)
Change the value that is returned by this generator.

Parameters:
  `value` - The new value to return.

### nextValue

public T nextValue()

Specified by:
  `nextValue` in interface `NumberGenerator<T extends Number>`
Returns:
  The next value from the generator.