Class AdjustableNumberGenerator<T extends java.lang.Number>

  • Type Parameters:
    T - The type of number generated by this number generator.
    All Implemented Interfaces:
    NumberGenerator<T>

    public class AdjustableNumberGenerator<T extends java.lang.Number>
    extends java.lang.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 NumberGenerators for their parameters. This can be achieved by creating UI components (e.g. sliders and spinners) that invoke setValue(Number) when their state changes.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.concurrent.locks.ReadWriteLock lock  
      private T value  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T nextValue()
      void setValue​(T value)
      Change the value that is returned by this generator.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • lock

        private final java.util.concurrent.locks.ReadWriteLock lock
      • value

        private T extends java.lang.Number value
    • Constructor Detail

      • 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 Detail

      • 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 java.lang.Number>
        Returns:
        The next value from the generator.