Class Lazy<T>

  • All Implemented Interfaces:
    Supplier<T>

    public final class Lazy<T>
    extends Object
    implements Supplier<T>
    A value container where the value is lazily obtained from the given Supplier on the first get() call. All subsequent get() calls will return the same value.
    There is at most one call to the Supplier. The state whether the Supplier was called in the past is stored within the Lazy instance.
    This means that null is handled transparently: if the Supplier returns null, the Lazy instance will return null for all subsequent calls of get() as well. This class only handles the value. Exceptions thrown by the Supplier are simply passed on and the internal state of Lazy does not change.
    • Constructor Detail

      • Lazy

        public Lazy​(@NonNull
                    @NonNull Supplier<T> supplier)
    • Method Detail

      • get

        public T get()
        Specified by:
        get in interface Supplier<T>