public class LengthPrefixUnknownCoders
extends java.lang.Object
LengthPrefixCoder
.Constructor and Description |
---|
LengthPrefixUnknownCoders() |
Modifier and Type | Method and Description |
---|---|
static void |
addKnownCoderUrn(java.lang.String urn)
Registers a coder as being of known type and as such not meriting length prefixing.
|
static java.lang.String |
addLengthPrefixedCoder(java.lang.String coderId,
org.apache.beam.model.pipeline.v1.RunnerApi.Components.Builder components,
boolean replaceWithByteArrayCoder)
Recursively traverses the coder tree and wraps the first unknown coder in every branch with a
LengthPrefixCoder unless an ancestor coder is itself a LengthPrefixCoder . |
public static void addKnownCoderUrn(java.lang.String urn)
urn
- The urn of the coder that should not be length prefixed.public static java.lang.String addLengthPrefixedCoder(java.lang.String coderId, org.apache.beam.model.pipeline.v1.RunnerApi.Components.Builder components, boolean replaceWithByteArrayCoder)
LengthPrefixCoder
unless an ancestor coder is itself a LengthPrefixCoder
. If
replaceWithByteArrayCoder
is set, then replaces that unknown coder with a ByteArrayCoder
. Registers the new coders in the given Components.Builder
. Note that no
ids that are generated will collide with the ids supplied within the coder map
key space.coderId
- The root coder contained within coders
to start the recursive descent
from.components
- Components builder that initially contains the root coder and all component
coders, and will be modified to contain all the necessary additional coders (including the
resulting coder).replaceWithByteArrayCoder
- whether to replace an unknown coder with a ByteArrayCoder
.