Class Values


  • public final class Values
    extends java.lang.Object
    A collection of Value provider factory & utility methods.
    Author:
    Marek Potociar
    • Method Detail

      • empty

        public static <T> Value<T> empty()
        Get an empty value provider whose get() method always returns null.
        Type Parameters:
        T - value type.
        Returns:
        empty value provider.
      • of

        public static <T> Value<T> of​(T value)

        Get a new constant value provider whose get() method always returns the instance supplied to the value parameter.

        In case the supplied value constant is null, an empty value provider is returned.

        Type Parameters:
        T - value type.
        Parameters:
        value - value instance to be provided.
        Returns:
        constant value provider.
      • lazy

        public static <T> LazyValue<T> lazy​(Value<T> delegate)
        Get a new lazily initialized value provider.

        The value returned by its get() method is lazily retrieved during a first call to the method from the supplied delegate value provider and is then cached for a subsequent retrieval.

        The implementation of the returned lazy value provider is thread-safe and is guaranteed to invoke the get() method on the supplied delegate value provider instance at most once.

        If the supplied value provider is null, an empty value provider is returned.

        Type Parameters:
        T - value type.
        Parameters:
        delegate - value provider delegate that will be used to lazily initialize the value provider.
        Returns:
        lazily initialized value provider.
      • eager

        public static <T> Value<T> eager​(Value<T> delegate)
        Get a new eagerly initialized value provider.

        The value returned by its get() method is eagerly computed from the supplied delegate value provider and is then stored in a final field for a subsequent retrieval.

        The implementation of the returned eager value provider is thread-safe and is guaranteed to invoke the get() method on the supplied delegate value provider instance once and only once.

        If the supplied value provider is null, an empty value provider is returned.

        Type Parameters:
        T - value type.
        Parameters:
        delegate - value provider delegate that will be used to eagerly initialize the value provider.
        Returns:
        eagerly initialized, constant value provider.