Class ThreadSafeClosure<T>

java.lang.Object
net.officefloor.frame.test.ThreadSafeClosure<T>

public class ThreadSafeClosure<T> extends Object
Thread safe capture of a free variable for closure state of a Function.
Author:
Daniel Sagenschneider
  • Constructor Details

    • ThreadSafeClosure

      public ThreadSafeClosure()
      Initialise with null.
    • ThreadSafeClosure

      public ThreadSafeClosure(T initialValue)
      Initialise with initial value.
      Parameters:
      initialValue - Initial value.
  • Method Details

    • set

      public void set(T value)
      Sets the value.
      Parameters:
      value - Value.
    • failure

      public void failure(Throwable cause)
      Flags a failure.
      Parameters:
      cause - Cause of the failure.
    • get

      public T get()
      Obtains current value.
      Returns:
      Value or null.
    • waitAndGet

      public T waitAndGet()
      Convenience method to wait 3 seconds and then get value.
      Returns:
      Value.
    • waitAndGet

      public T waitAndGet(long timeout)
      Obtains the value.
      Parameters:
      timeout - Timeout to wait for the value.
      Returns:
      Value.