Class Values

java.lang.Object
org.glassfish.tyrus.core.collection.Values

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

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