Class LockingLazyVar<T>

java.lang.Object
gw.util.concurrent.LockingLazyVar<T>

public abstract class LockingLazyVar<T> extends Object
  • Field Details

    • NULL

      protected static final Object NULL
    • _val

      private volatile T _val
    • _lock

      private final Lock _lock
  • Constructor Details

    • LockingLazyVar

      public LockingLazyVar()
      Constructs a LockingLazyVar that will use itself as the object of synchronization.
    • LockingLazyVar

      protected LockingLazyVar(Lock lock)
      Constructs a LockingLazyVar that will synchronize on the given object.
  • Method Details

    • get

      public final T get()
      Returns:
      the value of this lazy var, created if necessary
    • init

      protected abstract T init()
    • clear

      public final T clear()
      Clears the variable, forcing the next call to get() to re-calculate the value.
    • clearNoLock

      public final void clearNoLock()
    • initDirectly

      protected void initDirectly(T val)
    • isLoaded

      public boolean isLoaded()
    • make

      public static <Q> LockingLazyVar<Q> make(LockingLazyVar.LazyVarInit<Q> init)
      Creates a new LockingLazyVar based on the type of the LazyVarInit passed in. This method is intended to be called with blocks from Gosu.
    • make

      public static <Q> LockingLazyVar<Q> make(Lock lock, LockingLazyVar.LazyVarInit<Q> init)