Interface PresentProvider<T>

Type Parameters:
T - Type of value represented by the provider
All Superinterfaces:
Provider<T>

@NonExtensible @Incubating public interface PresentProvider<T> extends Provider<T>
A Provider that is always present, that is, one that always has a value.

Querying the value of this provider never fails: get() always returns the value, getOrNull() never returns null and isPresent() always returns true. Only the presence of the value is guaranteed; the value itself is not necessarily constant.

Note: This interface is not intended for implementation by build script or plugin authors. A provider that is always present can be created via ProviderFactory.present(Object).

Since:
9.9.0
  • Method Summary

    Modifier and Type
    Method
    Description
    get()
    Returns the value of this provider.
    getOrElse(T defaultValue)
    Returns the value of this provider.
    Returns the value of this provider.
    boolean
    Returns whether the provider has a value present.
    orElse(Provider<? extends T> provider)
    Returns this provider, as the value is always present and the given default provider can never be used.
    orElse(T value)
    Returns this provider, as the value is always present and the given default value can never be used.

    Methods inherited from interface Provider

    filter, flatMap, map, zip
  • Method Details

    • get

      T get()
      Returns the value of this provider. Unlike Provider.get(), never fails, as the value is always present.
      Specified by:
      get in interface Provider<T>
      Returns:
      the current value of this provider.
      Since:
      9.9.0
    • getOrNull

      T getOrNull()
      Returns the value of this provider. Unlike Provider.getOrNull(), never returns null, as the value is always present.
      Specified by:
      getOrNull in interface Provider<T>
      Returns:
      the current value of this provider.
      Since:
      9.9.0
    • getOrElse

      T getOrElse(T defaultValue)
      Returns the value of this provider. Unlike Provider.getOrElse(Object), the given default value is never used, as the value is always present.
      Specified by:
      getOrElse in interface Provider<T>
      Parameters:
      defaultValue - The default value to use when this provider has no value. Never used.
      Returns:
      the current value of this provider.
      Since:
      9.9.0
    • isPresent

      boolean isPresent()
      Returns whether the provider has a value present. Always true.
      Specified by:
      isPresent in interface Provider<T>
      Returns:
      true
      Since:
      9.9.0
    • orElse

      PresentProvider<T> orElse(T value)
      Returns this provider, as the value is always present and the given default value can never be used.
      Specified by:
      orElse in interface Provider<T>
      Parameters:
      value - The default value to use when this provider has no value. Never used.
      Returns:
      this provider.
      Since:
      9.9.0
    • orElse

      PresentProvider<T> orElse(Provider<? extends T> provider)
      Returns this provider, as the value is always present and the given default provider can never be used.
      Specified by:
      orElse in interface Provider<T>
      Parameters:
      provider - The default provider to use when this provider has no value. Never used.
      Returns:
      this provider.
      Since:
      9.9.0