Interface ValueProvider<T>

All Superinterfaces:
Serializable
All Known Implementing Classes:
ValueProvider.NestedValueProvider, ValueProvider.RuntimeValueProvider, ValueProvider.StaticValueProvider

public interface ValueProvider<T> extends Serializable
A ValueProvider abstracts the notion of fetching a value that may or may not be currently available.

This can be used to parameterize transforms that only read values in at runtime, for example.

A common task is to create a PCollection containing the value of this ValueProvider regardless of whether it's accessible at construction time or not. For that, use Create.ofProvider(org.apache.beam.sdk.options.ValueProvider<T>, org.apache.beam.sdk.coders.Coder<T>).

For unit-testing a transform against a ValueProvider that only becomes available at runtime, use TestPipeline.newProvider(T).

  • Method Details

    • get

      T get()
      Returns the runtime value wrapped by this ValueProvider in case it is isAccessible(), otherwise fails.
    • isAccessible

      boolean isAccessible()
      Whether the contents of this ValueProvider is currently available via get().