public interface ValueProvider<T>
extends java.io.Serializable
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)
.
Modifier and Type | Interface and Description |
---|---|
static class |
ValueProvider.Deserializer
For internal use only; no backwards compatibility guarantees.
|
static class |
ValueProvider.NestedValueProvider<T,X>
ValueProvider.NestedValueProvider is an implementation of ValueProvider that allows for
wrapping another ValueProvider object. |
static class |
ValueProvider.RuntimeValueProvider<T>
ValueProvider.RuntimeValueProvider is an implementation of ValueProvider that allows for a
value to be provided at execution time rather than at graph construction time. |
static class |
ValueProvider.Serializer
For internal use only; no backwards compatibility guarantees.
|
static class |
ValueProvider.StaticValueProvider<T>
ValueProvider.StaticValueProvider is an implementation of ValueProvider that allows for a
static value to be provided. |
Modifier and Type | Method and Description |
---|---|
T |
get()
Returns the runtime value wrapped by this
ValueProvider in case it is isAccessible() , otherwise fails. |
boolean |
isAccessible()
Whether the contents of this
ValueProvider is currently available via get() . |
T get()
ValueProvider
in case it is isAccessible()
, otherwise fails.boolean isAccessible()
ValueProvider
is currently available via get()
.