Mark all PCollectionView methods internal Add a note that the methods should not be considered to be accessible.
Project: http://git-wip-us.apache.org/repos/asf/beam/repo Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/cc4ca8c0 Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/cc4ca8c0 Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/cc4ca8c0 Branch: refs/heads/master Commit: cc4ca8c0b75f64f0bb6f705af3e80db9310d6647 Parents: 0d19d3c Author: Thomas Groh <tg...@google.com> Authored: Tue May 2 10:31:21 2017 -0700 Committer: Thomas Groh <tg...@google.com> Committed: Wed May 3 12:42:15 2017 -0700 ---------------------------------------------------------------------- .../apache/beam/sdk/values/PCollectionView.java | 29 ++++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/beam/blob/cc4ca8c0/sdks/java/core/src/main/java/org/apache/beam/sdk/values/PCollectionView.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/values/PCollectionView.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/values/PCollectionView.java index d65912b..71efc09 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/values/PCollectionView.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/values/PCollectionView.java @@ -21,6 +21,7 @@ import java.io.Serializable; import javax.annotation.Nullable; import org.apache.beam.sdk.annotations.Experimental; import org.apache.beam.sdk.annotations.Experimental.Kind; +import org.apache.beam.sdk.annotations.Internal; import org.apache.beam.sdk.coders.Coder; import org.apache.beam.sdk.transforms.ParDo; import org.apache.beam.sdk.transforms.View; @@ -44,54 +45,76 @@ import org.apache.beam.sdk.util.WindowingStrategy; * {@link View#asIterable()}, and {@link View#asMap()} for more detail on specific views * available in the SDK. * + * <p>NOTE: View methods should not be considered to be user-accessible. They are implementation + * details of how a Runner obtains information required to construct a view, and are subject to + * change at any time. + * * @param <T> the type of the value(s) accessible via this {@link PCollectionView} */ public interface PCollectionView<T> extends PValue, Serializable { /** - * Gets the {@link PCollection} this {@link PCollectionView} was created from. + * <b>For internal use only.</b> + * + * <p>Gets the {@link PCollection} this {@link PCollectionView} was created from. * * <p>The {@link PCollection} may not be available in all contexts. */ @Nullable + @Internal PCollection<?> getPCollection(); /** + * <b>For internal use only.</b> + * * @deprecated this method will be removed entirely. The {@link PCollection} underlying a side * input, is part of the side input's specification with a {@link ParDo} transform, which will * obtain that information via a package-private channel. */ @Deprecated + @Internal TupleTag<Iterable<WindowedValue<?>>> getTagInternal(); /** + * <b>For internal use only.</b> + * * @deprecated this method will be removed entirely. The {@link ViewFn} for a side input is an * attribute of the side input's specification with a {@link ParDo} transform, which will * obtain this specification via a package-private channel. */ @Deprecated + @Internal ViewFn<Iterable<WindowedValue<?>>, T> getViewFn(); /** - * Returns the {@link WindowMappingFn} used to map windows from a main input to the side input of - * this {@link PCollectionView}. + * <b>For internal use only.</b> + * + * <p>Returns the {@link WindowMappingFn} used to map windows from a main input to the side input + * of this {@link PCollectionView}. */ @Experimental(Kind.CORE_RUNNERS_ONLY) + @Internal WindowMappingFn<?> getWindowMappingFn(); /** + * <b>For internal use only.</b> + * * @deprecated this method will be removed entirely. The {@link PCollection} underlying a side * input, including its {@link WindowingStrategy}, is part of the side input's specification * with a {@link ParDo} transform, which will obtain that information via a package-private * channel. */ @Deprecated + @Internal WindowingStrategy<?, ?> getWindowingStrategyInternal(); /** + * <b>For internal use only.</b> + * * @deprecated this method will be removed entirely. The {@link PCollection} underlying a side * input, including its {@link Coder}, is part of the side input's specification with a {@link * ParDo} transform, which will obtain that information via a package-private channel. */ @Deprecated + @Internal Coder<Iterable<WindowedValue<?>>> getCoderInternal(); }