<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_181-google-v7) on Wed Aug 14 17:37:18 PDT 2019 -->
<title>Deprecated List (Apache Beam 2.15.0-SNAPSHOT)</title>
<meta name="date" content="2019-08-14">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Deprecated List (Apache Beam 2.15.0-SNAPSHOT)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Deprecated API" class="title">Deprecated API</h1>
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#interface">Deprecated Interfaces</a></li>
<li><a href="#class">Deprecated Classes</a></li>
<li><a href="#enum">Deprecated Enums</a></li>
<li><a href="#field">Deprecated Fields</a></li>
<li><a href="#method">Deprecated Methods</a></li>
<li><a href="#constructor">Deprecated Constructors</a></li>
<li><a href="#enum.constant">Deprecated Enum Constants</a></li>
</ul>
</div>
<div class="contentContainer"><a name="interface">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Interfaces table, listing deprecated interfaces, and an explanation">
<caption><span>Deprecated Interfaces</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Interface and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.RecordFormatter.html" title="interface in org.apache.beam.sdk.io">org.apache.beam.sdk.io.AvroIO.RecordFormatter</a>
<div class="block"><span class="deprecationComment">Users can achieve the same by providing this transform in a <a href="org/apache/beam/sdk/transforms/ParDo.html" title="class in org.apache.beam.sdk.transforms"><code>ParDo</code></a> before using write in AvroIO <a href="org/apache/beam/sdk/io/AvroIO.html#write-java.lang.Class-"><code>AvroIO.write(Class)</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/runners/dataflow/options/DataflowWorkerLoggingOptions.html" title="interface in org.apache.beam.runners.dataflow.options">org.apache.beam.runners.dataflow.options.DataflowWorkerLoggingOptions</a>
<div class="block"><span class="deprecationComment">This interface will no longer be the source of truth for worker logging configuration
     once jobs are executed using a dedicated SDK harness instead of user code being co-located
     alongside Dataflow worker code. Please set the option below and also the corresponding option
     within <a href="org/apache/beam/sdk/options/SdkHarnessOptions.html" title="interface in org.apache.beam.sdk.options"><code>SdkHarnessOptions</code></a> to ensure forward compatibility.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/testing/StreamingIT.html" title="interface in org.apache.beam.sdk.testing">org.apache.beam.sdk.testing.StreamingIT</a>
<div class="block"><span class="deprecationComment">tests which use unbounded PCollections should be in the category <a href="org/apache/beam/sdk/testing/UsesUnboundedPCollections.html" title="interface in org.apache.beam.sdk.testing"><code>UsesUnboundedPCollections</code></a>. Beyond that, it is up to the runner and test configuration to
     decide whether to run in streaming mode.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="class">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Classes table, listing deprecated classes, and an explanation">
<caption><span>Deprecated Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.ParseAll.html" title="class in org.apache.beam.sdk.io">org.apache.beam.sdk.io.AvroIO.ParseAll</a>
<div class="block"><span class="deprecationComment">See <a href="org/apache/beam/sdk/io/AvroIO.html#parseAllGenericRecords-org.apache.beam.sdk.transforms.SerializableFunction-"><code>AvroIO.parseAllGenericRecords(SerializableFunction)</code></a> for details.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.ReadAll.html" title="class in org.apache.beam.sdk.io">org.apache.beam.sdk.io.AvroIO.ReadAll</a>
<div class="block"><span class="deprecationComment">See <a href="org/apache/beam/sdk/io/AvroIO.html#readAll-java.lang.Class-"><code>AvroIO.readAll(Class)</code></a> for details.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/coders/Coder.Context.html" title="class in org.apache.beam.sdk.coders">org.apache.beam.sdk.coders.Coder.Context</a>
<div class="block"><span class="deprecationComment">To implement a coder, do not use any <a href="org/apache/beam/sdk/coders/Coder.Context.html" title="class in org.apache.beam.sdk.coders"><code>Coder.Context</code></a>. Just implement only those
     abstract methods which do not accept a <a href="org/apache/beam/sdk/coders/Coder.Context.html" title="class in org.apache.beam.sdk.coders"><code>Coder.Context</code></a> and leave the default
     implementations for methods accepting a <a href="org/apache/beam/sdk/coders/Coder.Context.html" title="class in org.apache.beam.sdk.coders"><code>Coder.Context</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/Combine.SimpleCombineFn.html" title="class in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.Combine.SimpleCombineFn</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html" title="class in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.DoFnTester</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/Reshuffle.html" title="class in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.Reshuffle</a>
<div class="block"><span class="deprecationComment">this transform's intended side effects are not portable; it will likely be removed</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/windowing/ReshuffleTrigger.html" title="class in org.apache.beam.sdk.transforms.windowing">org.apache.beam.sdk.transforms.windowing.ReshuffleTrigger</a>
<div class="block"><span class="deprecationComment">The intended side effect of <a href="org/apache/beam/sdk/transforms/Reshuffle.html" title="class in org.apache.beam.sdk.transforms"><code>Reshuffle</code></a> is not portable; it will likely be
     removed</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/runners/fnexecution/control/SingleEnvironmentInstanceJobBundleFactory.html" title="class in org.apache.beam.runners.fnexecution.control">org.apache.beam.runners.fnexecution.control.SingleEnvironmentInstanceJobBundleFactory</a>
<div class="block"><span class="deprecationComment">replace with a <a href="org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.html" title="class in org.apache.beam.runners.fnexecution.control"><code>DefaultJobBundleFactory</code></a> when appropriate if the <a href="org/apache/beam/runners/fnexecution/environment/EnvironmentFactory.html" title="interface in org.apache.beam.runners.fnexecution.environment"><code>EnvironmentFactory</code></a> is a <a href="org/apache/beam/runners/fnexecution/environment/DockerEnvironmentFactory.html" title="class in org.apache.beam.runners.fnexecution.environment"><code>DockerEnvironmentFactory</code></a>, or create an
     <code>InProcessJobBundleFactory</code> and inline the creation of the environment if appropriate.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.ReadAll.html" title="class in org.apache.beam.sdk.io">org.apache.beam.sdk.io.TextIO.ReadAll</a>
<div class="block"><span class="deprecationComment">See <a href="org/apache/beam/sdk/io/TextIO.html#readAll--"><code>TextIO.readAll()</code></a> for details.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/Top.Largest.html" title="class in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.Top.Largest</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/transforms/Top.Natural.html" title="class in org.apache.beam.sdk.transforms"><code>Top.Natural</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/Top.Smallest.html" title="class in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.Top.Smallest</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/transforms/Top.Reversed.html" title="class in org.apache.beam.sdk.transforms"><code>Top.Reversed</code></a> instead</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="enum">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Enums table, listing deprecated enums, and an explanation">
<caption><span>Deprecated Enums</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Enum and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/CompressedSource.CompressionMode.html" title="enum in org.apache.beam.sdk.io">org.apache.beam.sdk.io.CompressedSource.CompressionMode</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/Compression.html" title="enum in org.apache.beam.sdk.io"><code>Compression</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.CloningBehavior.html" title="enum in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.DoFnTester.CloningBehavior</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/FileBasedSink.CompressionType.html" title="enum in org.apache.beam.sdk.io">org.apache.beam.sdk.io.FileBasedSink.CompressionType</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/io/Compression.html" title="enum in org.apache.beam.sdk.io"><code>Compression</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.CompressionType.html" title="enum in org.apache.beam.sdk.io">org.apache.beam.sdk.io.TextIO.CompressionType</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/Compression.html" title="enum in org.apache.beam.sdk.io"><code>Compression</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TFRecordIO.CompressionType.html" title="enum in org.apache.beam.sdk.io">org.apache.beam.sdk.io.TFRecordIO.CompressionType</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/Compression.html" title="enum in org.apache.beam.sdk.io"><code>Compression</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/xml/XmlIO.Read.CompressionType.html" title="enum in org.apache.beam.sdk.io.xml">org.apache.beam.sdk.io.xml.XmlIO.Read.CompressionType</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/Compression.html" title="enum in org.apache.beam.sdk.io"><code>Compression</code></a> instead.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Fields table, listing deprecated fields, and an explanation">
<caption><span>Deprecated Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/runners/dataflow/util/PropertyNames.html#RESTRICTION_CODER">org.apache.beam.runners.dataflow.util.PropertyNames.RESTRICTION_CODER</a>
<div class="block"><span class="deprecationComment">Uses the incorrect terminology. <a href="org/apache/beam/runners/dataflow/util/PropertyNames.html#RESTRICTION_ENCODING"><code>PropertyNames.RESTRICTION_ENCODING</code></a>. Should be removed
     once non FnAPI SplittableDoFn expansion for Dataflow is removed.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/schemas/parser/generated/FieldSpecifierNotationParser.html#tokenNames">org.apache.beam.sdk.schemas.parser.generated.FieldSpecifierNotationParser.tokenNames</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/schemas/parser/generated/FieldSpecifierNotationParser.html#VOCABULARY"><code>FieldSpecifierNotationParser.VOCABULARY</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/schemas/parser/generated/FieldSpecifierNotationLexer.html#tokenNames">org.apache.beam.sdk.schemas.parser.generated.FieldSpecifierNotationLexer.tokenNames</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/schemas/parser/generated/FieldSpecifierNotationLexer.html#VOCABULARY"><code>FieldSpecifierNotationLexer.VOCABULARY</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/extensions/gcp/options/GcpOptions.html#WINDMILL_SERVICE_EXPERIMENT">org.apache.beam.sdk.extensions.gcp.options.GcpOptions.WINDMILL_SERVICE_EXPERIMENT</a>
<div class="block"><span class="deprecationComment">Use STREAMING_ENGINE_EXPERIMENT instead.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Methods table, listing deprecated methods, and an explanation">
<caption><span>Deprecated Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/schemas/Schema.FieldType.html#array-org.apache.beam.sdk.schemas.Schema.FieldType-boolean-">org.apache.beam.sdk.schemas.Schema.FieldType.array(Schema.FieldType, boolean)</a>
<div class="block"><span class="deprecationComment">Set the nullability on the elementType instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.PubsubSubscription.html#asV1Beta1Path--">org.apache.beam.sdk.io.gcp.pubsub.PubsubIO.PubsubSubscription.asV1Beta1Path()</a>
<div class="block"><span class="deprecationComment">the v1beta1 API for Cloud Pub/Sub is deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.PubsubTopic.html#asV1Beta1Path--">org.apache.beam.sdk.io.gcp.pubsub.PubsubIO.PubsubTopic.asV1Beta1Path()</a>
<div class="block"><span class="deprecationComment">the v1beta1 API for Cloud Pub/Sub is deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.PubsubSubscription.html#asV1Beta2Path--">org.apache.beam.sdk.io.gcp.pubsub.PubsubIO.PubsubSubscription.asV1Beta2Path()</a>
<div class="block"><span class="deprecationComment">the v1beta2 API for Cloud Pub/Sub is deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.PubsubTopic.html#asV1Beta2Path--">org.apache.beam.sdk.io.gcp.pubsub.PubsubIO.PubsubTopic.asV1Beta2Path()</a>
<div class="block"><span class="deprecationComment">the v1beta2 API for Cloud Pub/Sub is deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#clearOutputElements--">org.apache.beam.sdk.transforms.DoFnTester.clearOutputElements()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#clearOutputElements-org.apache.beam.sdk.values.TupleTag-">org.apache.beam.sdk.transforms.DoFnTester.clearOutputElements(TupleTag&lt;T&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#close--">org.apache.beam.sdk.transforms.DoFnTester.close()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/runners/fnexecution/GrpcFnServer.html#create-ServiceT-org.apache.beam.model.pipeline.v1.Endpoints.ApiServiceDescriptor-">org.apache.beam.runners.fnexecution.GrpcFnServer.create(ServiceT, Endpoints.ApiServiceDescriptor)</a>
<div class="block"><span class="deprecationComment">This create function is used for Dataflow migration purpose only.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/mqtt/MqttIO.ConnectionConfiguration.html#create-java.lang.String-java.lang.String-java.lang.String-">org.apache.beam.sdk.io.mqtt.MqttIO.ConnectionConfiguration.create(String, String, String)</a>
<div class="block"><span class="deprecationComment">This constructor will be removed in a future version of Beam, please use
     #create(String, String)} and <a href="org/apache/beam/sdk/io/mqtt/MqttIO.ConnectionConfiguration.html#withClientId-java.lang.String-"><code>MqttIO.ConnectionConfiguration.withClientId(String)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroSource.html#createForSubrangeOfFile-java.lang.String-long-long-">org.apache.beam.sdk.io.AvroSource.createForSubrangeOfFile(String, long, long)</a>
<div class="block"><span class="deprecationComment">Used by Dataflow worker</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#createProcessContext-org.apache.beam.sdk.values.ValueInSingleWindow-">org.apache.beam.sdk.transforms.DoFnTester.createProcessContext(ValueInSingleWindow&lt;InputT&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/coders/Coder.html#decode-java.io.InputStream-org.apache.beam.sdk.coders.Coder.Context-">org.apache.beam.sdk.coders.Coder.decode(InputStream, Coder.Context)</a>
<div class="block"><span class="deprecationComment">only implement and call <a href="org/apache/beam/sdk/coders/Coder.html#decode-java.io.InputStream-"><code>Coder.decode(InputStream)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/coders/Coder.html#encode-T-java.io.OutputStream-org.apache.beam.sdk.coders.Coder.Context-">org.apache.beam.sdk.coders.Coder.encode(T, OutputStream, Coder.Context)</a>
<div class="block"><span class="deprecationComment">only implement and call <a href="org/apache/beam/sdk/coders/Coder.html#encode-T-java.io.OutputStream-"><code>Coder.encode(Object value, OutputStream)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/testing/PAssert.PCollectionContentsAssert.html#equals-java.lang.Object-">org.apache.beam.sdk.testing.PAssert.PCollectionContentsAssert.equals(Object)</a>
<div class="block"><span class="deprecationComment"><code>Object.equals(Object)</code> is not supported on PAssert objects. If you meant
     to test object equality, use a variant of <a href="org/apache/beam/sdk/testing/PAssert.PCollectionContentsAssert.html#containsInAnyOrder-T...-"><code>PAssert.PCollectionContentsAssert.containsInAnyOrder(T...)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/values/PValue.html#expand--">org.apache.beam.sdk.values.PValue.expand()</a>
<div class="block"><span class="deprecationComment">A <a href="org/apache/beam/sdk/values/PValue.html" title="interface in org.apache.beam.sdk.values"><code>PValue</code></a> always expands into itself. Calling <a href="org/apache/beam/sdk/values/PValue.html#expand--"><code>PValue.expand()</code></a> on a PValue
     is almost never appropriate.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#finishBundle--">org.apache.beam.sdk.transforms.DoFnTester.finishBundle()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/fn/data/CloseableFnDataReceiver.html#flush--">org.apache.beam.sdk.fn.data.CloseableFnDataReceiver.flush()</a>
<div class="block"><span class="deprecationComment">to be removed once splitting/checkpointing are available in SDKs and rewinding in
     readers.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFn.html#getAllowedTimestampSkew--">org.apache.beam.sdk.transforms.DoFn.getAllowedTimestampSkew()</a>
<div class="block"><span class="deprecationComment">This method permits a <a href="org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn</code></a> to emit elements behind the watermark. These
     elements are considered late, and if behind the <a href="org/apache/beam/sdk/transforms/windowing/Window.html#withAllowedLateness-org.joda.time.Duration-"><code>allowed lateness</code></a> of a downstream <a href="org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a> may be silently dropped. See
     https://issues.apache.org/jira/browse/BEAM-644 for details on a replacement.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/WithTimestamps.html#getAllowedTimestampSkew--">org.apache.beam.sdk.transforms.WithTimestamps.getAllowedTimestampSkew()</a>
<div class="block"><span class="deprecationComment">This method permits a to elements to be emitted behind the watermark. These
     elements are considered late, and if behind the <a href="org/apache/beam/sdk/transforms/windowing/Window.html#withAllowedLateness-org.joda.time.Duration-"><code>allowed lateness</code></a> of a downstream <a href="org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a> may be silently dropped. See
     https://issues.apache.org/jira/browse/BEAM-644 for details on a replacement.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Read.html#getBigtableOptions--">org.apache.beam.sdk.io.gcp.bigtable.BigtableIO.Read.getBigtableOptions()</a>
<div class="block"><span class="deprecationComment">will be replaced by bigtable options configurator.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Write.html#getBigtableOptions--">org.apache.beam.sdk.io.gcp.bigtable.BigtableIO.Write.getBigtableOptions()</a>
<div class="block"><span class="deprecationComment">will be replaced by bigtable options configurator.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#getCloningBehavior--">org.apache.beam.sdk.transforms.DoFnTester.getCloningBehavior()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/coders/CoderRegistry.html#getCoder-java.lang.Class-java.lang.Class-java.util.Map-java.lang.reflect.TypeVariable-">org.apache.beam.sdk.coders.CoderRegistry.getCoder(Class&lt;? extends T&gt;, Class&lt;T&gt;, Map&lt;Type, ? extends Coder&lt;?&gt;&gt;, TypeVariable&lt;?&gt;)</a>
<div class="block"><span class="deprecationComment">This method is to change in an unknown backwards incompatible way once support for
     this functionality is refined.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/coders/CoderRegistry.html#getCoder-org.apache.beam.sdk.values.TypeDescriptor-org.apache.beam.sdk.values.TypeDescriptor-org.apache.beam.sdk.coders.Coder-">org.apache.beam.sdk.coders.CoderRegistry.getCoder(TypeDescriptor&lt;OutputT&gt;, TypeDescriptor&lt;InputT&gt;, Coder&lt;InputT&gt;)</a>
<div class="block"><span class="deprecationComment">This method is to change in an unknown backwards incompatible way once support for
     this functionality is refined.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/values/PCollectionView.html#getCoderInternal--">org.apache.beam.sdk.values.PCollectionView.getCoderInternal()</a>
<div class="block"><span class="deprecationComment">this method will be removed entirely. The <a href="org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a> underlying a side
     input, including its <a href="org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a>, is part of the side input's specification with a <a href="org/apache/beam/sdk/transforms/ParDo.html" title="class in org.apache.beam.sdk.transforms"><code>ParDo</code></a> transform, which will obtain that information via a package-private channel.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder--">org.apache.beam.sdk.transforms.PTransform.getDefaultOutputCoder()</a>
<div class="block"><span class="deprecationComment">Instead, the PTransform should explicitly call <a href="org/apache/beam/sdk/values/PCollection.html#setCoder-org.apache.beam.sdk.coders.Coder-"><code>PCollection.setCoder(org.apache.beam.sdk.coders.Coder&lt;T&gt;)</code></a> on the
     returned PCollection.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/Source.html#getDefaultOutputCoder--">org.apache.beam.sdk.io.Source.getDefaultOutputCoder()</a>
<div class="block"><span class="deprecationComment">Override <a href="org/apache/beam/sdk/io/Source.html#getOutputCoder--"><code>Source.getOutputCoder()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder-InputT-">org.apache.beam.sdk.transforms.PTransform.getDefaultOutputCoder(InputT)</a>
<div class="block"><span class="deprecationComment">Instead, the PTransform should explicitly call <a href="org/apache/beam/sdk/values/PCollection.html#setCoder-org.apache.beam.sdk.coders.Coder-"><code>PCollection.setCoder(org.apache.beam.sdk.coders.Coder&lt;T&gt;)</code></a> on the
     returned PCollection.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder-InputT-org.apache.beam.sdk.values.PCollection-">org.apache.beam.sdk.transforms.PTransform.getDefaultOutputCoder(InputT, PCollection&lt;T&gt;)</a>
<div class="block"><span class="deprecationComment">Instead, the PTransform should explicitly call <a href="org/apache/beam/sdk/values/PCollection.html#setCoder-org.apache.beam.sdk.coders.Coder-"><code>PCollection.setCoder(org.apache.beam.sdk.coders.Coder&lt;T&gt;)</code></a> on the
     returned PCollection.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/runners/dataflow/util/MonitoringUtil.html#getJobMonitoringPageURL-java.lang.String-java.lang.String-">org.apache.beam.runners.dataflow.util.MonitoringUtil.getJobMonitoringPageURL(String, String)</a>
<div class="block"><span class="deprecationComment">this method defaults the region to "us-central1". Prefer using the overload with an
     explicit regionId parameter.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#getMainOutputTag--">org.apache.beam.sdk.transforms.DoFnTester.getMainOutputTag()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#getMutableOutput-org.apache.beam.sdk.values.TupleTag-">org.apache.beam.sdk.transforms.DoFnTester.getMutableOutput(TupleTag&lt;T&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/coders/CoderRegistry.html#getOutputCoder-org.apache.beam.sdk.transforms.SerializableFunction-org.apache.beam.sdk.coders.Coder-">org.apache.beam.sdk.coders.CoderRegistry.getOutputCoder(SerializableFunction&lt;InputT, OutputT&gt;, Coder&lt;InputT&gt;)</a>
<div class="block"><span class="deprecationComment">This method is to change in an unknown backwards incompatible way once support for
     this functionality is refined.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#getPipelineOptions--">org.apache.beam.sdk.transforms.DoFnTester.getPipelineOptions()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/values/PCollectionView.html#getTagInternal--">org.apache.beam.sdk.values.PCollectionView.getTagInternal()</a>
<div class="block"><span class="deprecationComment">this method will be removed entirely. The <a href="org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a> underlying a side
     input, is part of the side input's specification with a <a href="org/apache/beam/sdk/transforms/ParDo.html" title="class in org.apache.beam.sdk.transforms"><code>ParDo</code></a> transform, which will
     obtain that information via a package-private channel.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/schemas/parser/generated/FieldSpecifierNotationParser.html#getTokenNames--">org.apache.beam.sdk.schemas.parser.generated.FieldSpecifierNotationParser.getTokenNames()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/schemas/parser/generated/FieldSpecifierNotationLexer.html#getTokenNames--">org.apache.beam.sdk.schemas.parser.generated.FieldSpecifierNotationLexer.getTokenNames()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/View.CreatePCollectionView.html#getView--">org.apache.beam.sdk.transforms.View.CreatePCollectionView.getView()</a>
<div class="block"><span class="deprecationComment">This should not be used to obtain the output of any given application of this
     <a href="org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms"><code>PTransform</code></a>. That should be obtained by inspecting the <code>TransformHierarchy.Node</code> that contains
     this <a href="org/apache/beam/sdk/transforms/View.CreatePCollectionView.html" title="class in org.apache.beam.sdk.transforms"><code>View.CreatePCollectionView</code></a>, as this view may have been replaced within pipeline
     surgery.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/values/PCollectionView.html#getViewFn--">org.apache.beam.sdk.values.PCollectionView.getViewFn()</a>
<div class="block"><span class="deprecationComment">this method will be removed entirely. The <a href="org/apache/beam/sdk/transforms/ViewFn.html" title="class in org.apache.beam.sdk.transforms"><code>ViewFn</code></a> for a side input is an
     attribute of the side input's specification with a <a href="org/apache/beam/sdk/transforms/ParDo.html" title="class in org.apache.beam.sdk.transforms"><code>ParDo</code></a> transform, which will
     obtain this specification via a package-private channel.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/values/PCollectionView.html#getWindowingStrategyInternal--">org.apache.beam.sdk.values.PCollectionView.getWindowingStrategyInternal()</a>
<div class="block"><span class="deprecationComment">this method will be removed entirely. The <a href="org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a> underlying a side
     input, including its <a href="org/apache/beam/sdk/values/WindowingStrategy.html" title="class in org.apache.beam.sdk.values"><code>WindowingStrategy</code></a>, is part of the side input's specification
     with a <a href="org/apache/beam/sdk/transforms/ParDo.html" title="class in org.apache.beam.sdk.transforms"><code>ParDo</code></a> transform, which will obtain that information via a package-private
     channel.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/testing/PAssert.PCollectionContentsAssert.html#hashCode--">org.apache.beam.sdk.testing.PAssert.PCollectionContentsAssert.hashCode()</a>
<div class="block"><span class="deprecationComment"><code>Object.hashCode()</code> is not supported on PAssert objects.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/windowing/WindowFn.html#isCompatible-org.apache.beam.sdk.transforms.windowing.WindowFn-">org.apache.beam.sdk.transforms.windowing.WindowFn.isCompatible(WindowFn&lt;?, ?&gt;)</a>
<div class="block"><span class="deprecationComment">please override verifyCompatibility to throw a useful error message; we will remove
     isCompatible at version 3.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/schemas/Schema.FieldType.html#map-org.apache.beam.sdk.schemas.Schema.FieldType-org.apache.beam.sdk.schemas.Schema.FieldType-boolean-">org.apache.beam.sdk.schemas.Schema.FieldType.map(Schema.FieldType, Schema.FieldType, boolean)</a>
<div class="block"><span class="deprecationComment">Set the nullability on the valueType instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/metrics/MetricName.html#name--">org.apache.beam.sdk.metrics.MetricName.name()</a>
<div class="block"><span class="deprecationComment">to be removed once Dataflow no longer requires this method.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/metrics/MetricName.html#namespace--">org.apache.beam.sdk.metrics.MetricName.namespace()</a>
<div class="block"><span class="deprecationComment">to be removed once Dataflow no longer requires this method.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#of-org.apache.beam.sdk.transforms.DoFn-">org.apache.beam.sdk.transforms.DoFnTester.of(DoFn&lt;InputT, OutputT&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.html#parseAllGenericRecords-org.apache.beam.sdk.transforms.SerializableFunction-">org.apache.beam.sdk.io.AvroIO.parseAllGenericRecords(SerializableFunction&lt;GenericRecord, T&gt;)</a>
<div class="block"><span class="deprecationComment">You can achieve The functionality of <a href="org/apache/beam/sdk/io/AvroIO.html#parseAllGenericRecords-org.apache.beam.sdk.transforms.SerializableFunction-"><code>AvroIO.parseAllGenericRecords(SerializableFunction)</code></a> using <a href="org/apache/beam/sdk/io/FileIO.html" title="class in org.apache.beam.sdk.io"><code>FileIO</code></a> matching plus <a href="org/apache/beam/sdk/io/AvroIO.html#parseFilesGenericRecords-org.apache.beam.sdk.transforms.SerializableFunction-"><code>AvroIO.parseFilesGenericRecords(SerializableFunction)</code></a> ()}. This is the preferred method to make
     composition explicit. <a href="org/apache/beam/sdk/io/AvroIO.ParseAll.html" title="class in org.apache.beam.sdk.io"><code>AvroIO.ParseAll</code></a> will not receive upgrades and will be removed in a
     future version of Beam.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#peekOutputElements--">org.apache.beam.sdk.transforms.DoFnTester.peekOutputElements()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#peekOutputElements-org.apache.beam.sdk.values.TupleTag-">org.apache.beam.sdk.transforms.DoFnTester.peekOutputElements(TupleTag&lt;T&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#peekOutputElementsInWindow-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">org.apache.beam.sdk.transforms.DoFnTester.peekOutputElementsInWindow(BoundedWindow)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#peekOutputElementsInWindow-org.apache.beam.sdk.values.TupleTag-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">org.apache.beam.sdk.transforms.DoFnTester.peekOutputElementsInWindow(TupleTag&lt;OutputT&gt;, BoundedWindow)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#peekOutputElementsWithTimestamp--">org.apache.beam.sdk.transforms.DoFnTester.peekOutputElementsWithTimestamp()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFn.html#prepareForProcessing--">org.apache.beam.sdk.transforms.DoFn.prepareForProcessing()</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/transforms/DoFn.Setup.html" title="annotation in org.apache.beam.sdk.transforms"><code>DoFn.Setup</code></a> or <a href="org/apache/beam/sdk/transforms/DoFn.StartBundle.html" title="annotation in org.apache.beam.sdk.transforms"><code>DoFn.StartBundle</code></a> instead. This method will be removed in a
     future release.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#processBundle-InputT...-">org.apache.beam.sdk.transforms.DoFnTester.processBundle(InputT...)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#processBundle-java.lang.Iterable-">org.apache.beam.sdk.transforms.DoFnTester.processBundle(Iterable&lt;? extends InputT&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#processElement-InputT-">org.apache.beam.sdk.transforms.DoFnTester.processElement(InputT)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#processTimestampedElement-org.apache.beam.sdk.values.TimestampedValue-">org.apache.beam.sdk.transforms.DoFnTester.processTimestampedElement(TimestampedValue&lt;InputT&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#processWindowedElement-InputT-org.joda.time.Instant-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">org.apache.beam.sdk.transforms.DoFnTester.processWindowedElement(InputT, Instant, BoundedWindow)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.html#read--">org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO.read()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.html#read-org.apache.beam.sdk.transforms.SerializableFunction-"><code>BigQueryIO.read(SerializableFunction)</code></a> or <a href="org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.html#readTableRows--"><code>BigQueryIO.readTableRows()</code></a> instead. <a href="org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.html#readTableRows--"><code>BigQueryIO.readTableRows()</code></a> does exactly the same as <a href="org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.html#read--"><code>BigQueryIO.read()</code></a>, however <a href="org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.html#read-org.apache.beam.sdk.transforms.SerializableFunction-"><code>BigQueryIO.read(SerializableFunction)</code></a> performs better.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.html#readAll--">org.apache.beam.sdk.io.TextIO.readAll()</a>
<div class="block"><span class="deprecationComment">You can achieve The functionality of <a href="org/apache/beam/sdk/io/TextIO.html#readAll--"><code>TextIO.readAll()</code></a> using <a href="org/apache/beam/sdk/io/FileIO.html" title="class in org.apache.beam.sdk.io"><code>FileIO</code></a>
     matching plus <a href="org/apache/beam/sdk/io/TextIO.html#readFiles--"><code>TextIO.readFiles()</code></a>. This is the preferred method to make composition
     explicit. <a href="org/apache/beam/sdk/io/TextIO.ReadAll.html" title="class in org.apache.beam.sdk.io"><code>TextIO.ReadAll</code></a> will not receive upgrades and will be removed in a future version
     of Beam.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.html#readAll-java.lang.Class-">org.apache.beam.sdk.io.AvroIO.readAll(Class&lt;T&gt;)</a>
<div class="block"><span class="deprecationComment">You can achieve The functionality of <a href="org/apache/beam/sdk/io/AvroIO.html#readAll-java.lang.Class-"><code>AvroIO.readAll(java.lang.Class&lt;T&gt;)</code></a> using <a href="org/apache/beam/sdk/io/FileIO.html" title="class in org.apache.beam.sdk.io"><code>FileIO</code></a> matching
     plus <a href="org/apache/beam/sdk/io/AvroIO.html#readFiles-java.lang.Class-"><code>AvroIO.readFiles(Class)</code></a>. This is the preferred method to make composition explicit.
     <a href="org/apache/beam/sdk/io/AvroIO.ReadAll.html" title="class in org.apache.beam.sdk.io"><code>AvroIO.ReadAll</code></a> will not receive upgrades and will be removed in a future version of Beam.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.html#readAllGenericRecords-org.apache.avro.Schema-">org.apache.beam.sdk.io.AvroIO.readAllGenericRecords(Schema)</a>
<div class="block"><span class="deprecationComment">You can achieve The functionality of <a href="org/apache/beam/sdk/io/AvroIO.html#readAllGenericRecords-org.apache.avro.Schema-"><code>AvroIO.readAllGenericRecords(Schema)</code></a> using
     <a href="org/apache/beam/sdk/io/FileIO.html" title="class in org.apache.beam.sdk.io"><code>FileIO</code></a> matching plus <a href="org/apache/beam/sdk/io/AvroIO.html#readGenericRecords-org.apache.avro.Schema-"><code>AvroIO.readGenericRecords(Schema)</code></a>. This is the preferred
     method to make composition explicit. <a href="org/apache/beam/sdk/io/AvroIO.ReadAll.html" title="class in org.apache.beam.sdk.io"><code>AvroIO.ReadAll</code></a> will not receive upgrades and will be
     removed in a future version of Beam.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.html#readAllGenericRecords-java.lang.String-">org.apache.beam.sdk.io.AvroIO.readAllGenericRecords(String)</a>
<div class="block"><span class="deprecationComment">You can achieve The functionality of <a href="org/apache/beam/sdk/io/AvroIO.html#readAllGenericRecords-java.lang.String-"><code>AvroIO.readAllGenericRecords(String)</code></a> using
     <a href="org/apache/beam/sdk/io/FileIO.html" title="class in org.apache.beam.sdk.io"><code>FileIO</code></a> matching plus <a href="org/apache/beam/sdk/io/AvroIO.html#readGenericRecords-java.lang.String-"><code>AvroIO.readGenericRecords(String)</code></a>. This is the preferred
     method to make composition explicit. <a href="org/apache/beam/sdk/io/AvroIO.ReadAll.html" title="class in org.apache.beam.sdk.io"><code>AvroIO.ReadAll</code></a> will not receive upgrades and will be
     removed in a future version of Beam.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#setCloningBehavior-org.apache.beam.sdk.transforms.DoFnTester.CloningBehavior-">org.apache.beam.sdk.transforms.DoFnTester.setCloningBehavior(DoFnTester.CloningBehavior)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/Pipeline.html#setCoderRegistry-org.apache.beam.sdk.coders.CoderRegistry-">org.apache.beam.sdk.Pipeline.setCoderRegistry(CoderRegistry)</a>
<div class="block"><span class="deprecationComment">this should never be used - every <a href="org/apache/beam/sdk/Pipeline.html" title="class in org.apache.beam.sdk"><code>Pipeline</code></a> has a registry throughout its
     lifetime.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#setSideInput-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-T-">org.apache.beam.sdk.transforms.DoFnTester.setSideInput(PCollectionView&lt;T&gt;, BoundedWindow, T)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#setSideInputs-java.util.Map-">org.apache.beam.sdk.transforms.DoFnTester.setSideInputs(Map&lt;PCollectionView&lt;?&gt;, Map&lt;BoundedWindow, ?&gt;&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.html#sinkViaGenericRecords-org.apache.avro.Schema-org.apache.beam.sdk.io.AvroIO.RecordFormatter-">org.apache.beam.sdk.io.AvroIO.sinkViaGenericRecords(Schema, AvroIO.RecordFormatter&lt;ElementT&gt;)</a>
<div class="block"><span class="deprecationComment">RecordFormatter will be removed in future versions.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#startBundle--">org.apache.beam.sdk.transforms.DoFnTester.startBundle()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#takeOutputElements--">org.apache.beam.sdk.transforms.DoFnTester.takeOutputElements()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#takeOutputElements-org.apache.beam.sdk.values.TupleTag-">org.apache.beam.sdk.transforms.DoFnTester.takeOutputElements(TupleTag&lt;T&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/DoFnTester.html#takeOutputElementsWithTimestamp--">org.apache.beam.sdk.transforms.DoFnTester.takeOutputElementsWithTimestamp()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html" title="class in org.apache.beam.sdk.testing"><code>TestPipeline</code></a> with the <code>DirectRunner</code>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.Write.html#to-org.apache.beam.sdk.io.DynamicAvroDestinations-">org.apache.beam.sdk.io.AvroIO.Write.to(DynamicAvroDestinations&lt;T, ?, T&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/FileIO.html#write--"><code>FileIO.write()</code></a> or <a href="org/apache/beam/sdk/io/FileIO.html#writeDynamic--"><code>FileIO.writeDynamic()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/AvroIO.TypedWrite.html#to-org.apache.beam.sdk.io.DynamicAvroDestinations-">org.apache.beam.sdk.io.AvroIO.TypedWrite.to(DynamicAvroDestinations&lt;UserT, NewDestinationT, OutputT&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/FileIO.html#write--"><code>FileIO.write()</code></a> or <a href="org/apache/beam/sdk/io/FileIO.html#writeDynamic--"><code>FileIO.writeDynamic()</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.Write.html#to-org.apache.beam.sdk.io.FileBasedSink.DynamicDestinations-">org.apache.beam.sdk.io.TextIO.Write.to(FileBasedSink.DynamicDestinations&lt;String, ?, String&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/FileIO.html#write--"><code>FileIO.write()</code></a> or <a href="org/apache/beam/sdk/io/FileIO.html#writeDynamic--"><code>FileIO.writeDynamic()</code></a> ()} with <a href="org/apache/beam/sdk/io/TextIO.html#sink--"><code>TextIO.sink()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.TypedWrite.html#to-org.apache.beam.sdk.io.FileBasedSink.DynamicDestinations-">org.apache.beam.sdk.io.TextIO.TypedWrite.to(FileBasedSink.DynamicDestinations&lt;UserT, NewDestinationT, String&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/FileIO.html#write--"><code>FileIO.write()</code></a> or <a href="org/apache/beam/sdk/io/FileIO.html#writeDynamic--"><code>FileIO.writeDynamic()</code></a> with <a href="org/apache/beam/sdk/io/TextIO.html#sink--"><code>TextIO.sink()</code></a>
     instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.Write.html#to-org.apache.beam.sdk.transforms.SerializableFunction-org.apache.beam.sdk.io.DefaultFilenamePolicy.Params-">org.apache.beam.sdk.io.TextIO.Write.to(SerializableFunction&lt;String, DefaultFilenamePolicy.Params&gt;, DefaultFilenamePolicy.Params)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/FileIO.html#write--"><code>FileIO.write()</code></a> or <a href="org/apache/beam/sdk/io/FileIO.html#writeDynamic--"><code>FileIO.writeDynamic()</code></a> ()} with <a href="org/apache/beam/sdk/io/TextIO.html#sink--"><code>TextIO.sink()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.TypedWrite.html#to-org.apache.beam.sdk.transforms.SerializableFunction-org.apache.beam.sdk.io.DefaultFilenamePolicy.Params-">org.apache.beam.sdk.io.TextIO.TypedWrite.to(SerializableFunction&lt;UserT, DefaultFilenamePolicy.Params&gt;, DefaultFilenamePolicy.Params)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/FileIO.html#write--"><code>FileIO.write()</code></a> or <a href="org/apache/beam/sdk/io/FileIO.html#writeDynamic--"><code>FileIO.writeDynamic()</code></a> with <a href="org/apache/beam/sdk/io/TextIO.html#sink--"><code>TextIO.sink()</code></a>
     instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/CountingSource.html#unbounded--">org.apache.beam.sdk.io.CountingSource.unbounded()</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/io/GenerateSequence.html" title="class in org.apache.beam.sdk.io"><code>GenerateSequence</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/CountingSource.html#unboundedWithTimestampFn-org.apache.beam.sdk.transforms.SerializableFunction-">org.apache.beam.sdk.io.CountingSource.unboundedWithTimestampFn(SerializableFunction&lt;Long, Instant&gt;)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/io/GenerateSequence.html" title="class in org.apache.beam.sdk.io"><code>GenerateSequence</code></a> and call <a href="org/apache/beam/sdk/io/GenerateSequence.html#withTimestampFn-org.apache.beam.sdk.transforms.SerializableFunction-"><code>GenerateSequence.withTimestampFn(SerializableFunction)</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#updateConsumerProperties-java.util.Map-">org.apache.beam.sdk.io.kafka.KafkaIO.Read.updateConsumerProperties(Map&lt;String, Object&gt;)</a>
<div class="block"><span class="deprecationComment">as of version 2.13. Use <a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#withConsumerConfigUpdates-java.util.Map-"><code>KafkaIO.Read.withConsumerConfigUpdates(Map)</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/KafkaIO.WriteRecords.html#updateProducerProperties-java.util.Map-">org.apache.beam.sdk.io.kafka.KafkaIO.WriteRecords.updateProducerProperties(Map&lt;String, Object&gt;)</a>
<div class="block"><span class="deprecationComment">as of version 2.13. Use <a href="org/apache/beam/sdk/io/kafka/KafkaIO.WriteRecords.html#withProducerConfigUpdates-java.util.Map-"><code>KafkaIO.WriteRecords.withProducerConfigUpdates(Map)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/KafkaIO.Write.html#updateProducerProperties-java.util.Map-">org.apache.beam.sdk.io.kafka.KafkaIO.Write.updateProducerProperties(Map&lt;String, Object&gt;)</a>
<div class="block"><span class="deprecationComment">as of version 2.13. Use <a href="org/apache/beam/sdk/io/kafka/KafkaIO.Write.html#withProducerConfigUpdates-java.util.Map-"><code>KafkaIO.Write.withProducerConfigUpdates(Map)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/options/ValueProviders.html#updateSerializedOptions-java.lang.String-java.util.Map-">org.apache.beam.sdk.options.ValueProviders.updateSerializedOptions(String, Map&lt;String, String&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/testing/TestPipeline.html#newProvider-T-"><code>TestPipeline.newProvider(T)</code></a> for testing <a href="org/apache/beam/sdk/options/ValueProvider.html" title="interface in org.apache.beam.sdk.options"><code>ValueProvider</code></a> code.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/CountingSource.html#upTo-long-">org.apache.beam.sdk.io.CountingSource.upTo(long)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/io/GenerateSequence.html" title="class in org.apache.beam.sdk.io"><code>GenerateSequence</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/WithTimestamps.html#withAllowedTimestampSkew-org.joda.time.Duration-">org.apache.beam.sdk.transforms.WithTimestamps.withAllowedTimestampSkew(Duration)</a>
<div class="block"><span class="deprecationComment">This method permits a to elements to be emitted behind the watermark. These
     elements are considered late, and if behind the <a href="org/apache/beam/sdk/transforms/windowing/Window.html#withAllowedLateness-org.joda.time.Duration-"><code>allowed lateness</code></a> of a downstream <a href="org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a> may be silently dropped. See
     https://issues.apache.org/jira/browse/BEAM-644 for details on a replacement.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Read.html#withBigtableOptions-com.google.cloud.bigtable.config.BigtableOptions.Builder-">org.apache.beam.sdk.io.gcp.bigtable.BigtableIO.Read.withBigtableOptions(BigtableOptions.Builder)</a>
<div class="block"><span class="deprecationComment">will be replaced by bigtable options configurator.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Write.html#withBigtableOptions-com.google.cloud.bigtable.config.BigtableOptions.Builder-">org.apache.beam.sdk.io.gcp.bigtable.BigtableIO.Write.withBigtableOptions(BigtableOptions.Builder)</a>
<div class="block"><span class="deprecationComment">will be replaced by bigtable options configurator.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Read.html#withBigtableOptions-com.google.cloud.bigtable.config.BigtableOptions-">org.apache.beam.sdk.io.gcp.bigtable.BigtableIO.Read.withBigtableOptions(BigtableOptions)</a>
<div class="block"><span class="deprecationComment">will be replaced by bigtable options configurator.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Write.html#withBigtableOptions-com.google.cloud.bigtable.config.BigtableOptions-">org.apache.beam.sdk.io.gcp.bigtable.BigtableIO.Write.withBigtableOptions(BigtableOptions)</a>
<div class="block"><span class="deprecationComment">will be replaced by bigtable options configurator.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.Read.html#withCompressionType-org.apache.beam.sdk.io.TextIO.CompressionType-">org.apache.beam.sdk.io.TextIO.Read.withCompressionType(TextIO.CompressionType)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/TextIO.Read.html#withCompression-org.apache.beam.sdk.io.Compression-"><code>TextIO.Read.withCompression(org.apache.beam.sdk.io.Compression)</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.ReadAll.html#withCompressionType-org.apache.beam.sdk.io.TextIO.CompressionType-">org.apache.beam.sdk.io.TextIO.ReadAll.withCompressionType(TextIO.CompressionType)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/TextIO.ReadAll.html#withCompression-org.apache.beam.sdk.io.Compression-"><code>TextIO.ReadAll.withCompression(org.apache.beam.sdk.io.Compression)</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TFRecordIO.Read.html#withCompressionType-org.apache.beam.sdk.io.TFRecordIO.CompressionType-">org.apache.beam.sdk.io.TFRecordIO.Read.withCompressionType(TFRecordIO.CompressionType)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/TFRecordIO.Read.html#withCompression-org.apache.beam.sdk.io.Compression-"><code>TFRecordIO.Read.withCompression(org.apache.beam.sdk.io.Compression)</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TFRecordIO.Write.html#withCompressionType-org.apache.beam.sdk.io.TFRecordIO.CompressionType-">org.apache.beam.sdk.io.TFRecordIO.Write.withCompressionType(TFRecordIO.CompressionType)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/io/TFRecordIO.Write.html#withCompression-org.apache.beam.sdk.io.Compression-"><code>TFRecordIO.Write.withCompression(org.apache.beam.sdk.io.Compression)</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/xml/XmlIO.Read.html#withCompressionType-org.apache.beam.sdk.io.xml.XmlIO.Read.CompressionType-">org.apache.beam.sdk.io.xml.XmlIO.Read.withCompressionType(XmlIO.Read.CompressionType)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/io/xml/XmlIO.Read.html#withCompression-org.apache.beam.sdk.io.Compression-"><code>XmlIO.Read.withCompression(org.apache.beam.sdk.io.Compression)</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/mongodb/MongoDbIO.Read.html#withFilter-java.lang.String-">org.apache.beam.sdk.io.mongodb.MongoDbIO.Read.withFilter(String)</a>
<div class="block"><span class="deprecationComment">Filtering manually is discouraged. Use <a href="org/apache/beam/sdk/io/mongodb/MongoDbIO.Read.html#withQueryFn-org.apache.beam.sdk.transforms.SerializableFunction-"><code>with {@link FindQuery#withFilters(Bson)} as an argument to set up the projection</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/TextIO.TypedWrite.html#withFormatFunction-org.apache.beam.sdk.transforms.SerializableFunction-">org.apache.beam.sdk.io.TextIO.TypedWrite.withFormatFunction(SerializableFunction&lt;UserT, String&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/FileIO.html#write--"><code>FileIO.write()</code></a> or <a href="org/apache/beam/sdk/io/FileIO.html#writeDynamic--"><code>FileIO.writeDynamic()</code></a> with <a href="org/apache/beam/sdk/io/TextIO.html#sink--"><code>TextIO.sink()</code></a>
     instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/FileIO.Write.html#withIgnoreWindowing--">org.apache.beam.sdk.io.FileIO.Write.withIgnoreWindowing()</a>
<div class="block"><span class="deprecationComment">Avoid usage of this method: its effects are complex and it will be removed in
     future versions of Beam. Right now it exists for compatibility with <a href="org/apache/beam/sdk/io/WriteFiles.html" title="class in org.apache.beam.sdk.io"><code>WriteFiles</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/mongodb/MongoDbIO.Read.html#withProjection-java.lang.String...-">org.apache.beam.sdk.io.mongodb.MongoDbIO.Read.withProjection(String...)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/beam/sdk/io/mongodb/MongoDbIO.Read.html#withQueryFn-org.apache.beam.sdk.transforms.SerializableFunction-"><code>with {@link
     FindQuery#withProjection(List)} as an argument to set up the projection</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/KafkaIO.Write.html#withPublishTimestampFunction-org.apache.beam.sdk.io.kafka.KafkaPublishTimestampFunction-">org.apache.beam.sdk.io.kafka.KafkaIO.Write.withPublishTimestampFunction(KafkaPublishTimestampFunction&lt;KV&lt;K, V&gt;&gt;)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/sdk/io/kafka/KafkaIO.WriteRecords.html" title="class in org.apache.beam.sdk.io.kafka"><code>KafkaIO.WriteRecords</code></a> and <code>ProducerRecords</code> to set publish timestamp.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/KafkaIO.WriteRecords.html#withPublishTimestampFunction-org.apache.beam.sdk.io.kafka.KafkaPublishTimestampFunction-">org.apache.beam.sdk.io.kafka.KafkaIO.WriteRecords.withPublishTimestampFunction(KafkaPublishTimestampFunction&lt;ProducerRecord&lt;K, V&gt;&gt;)</a>
<div class="block"><span class="deprecationComment">use <code>ProducerRecords</code> to set publish timestamp.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/transforms/View.AsMap.html#withSingletonValues--">org.apache.beam.sdk.transforms.View.AsMap.withSingletonValues()</a>
<div class="block"><span class="deprecationComment">this method simply returns this AsMap unmodified</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/TimestampPolicyFactory.html#withTimestampFn-org.apache.beam.sdk.transforms.SerializableFunction-">org.apache.beam.sdk.io.kafka.TimestampPolicyFactory.withTimestampFn(SerializableFunction&lt;KafkaRecord&lt;K, V&gt;, Instant&gt;)</a>
<div class="block"><span class="deprecationComment">Use @<a href="org/apache/beam/sdk/io/kafka/CustomTimestampPolicyWithLimitedDelay.html" title="class in org.apache.beam.sdk.io.kafka"><code>CustomTimestampPolicyWithLimitedDelay</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#withTimestampFn-org.apache.beam.sdk.transforms.SerializableFunction-">org.apache.beam.sdk.io.kafka.KafkaIO.Read.withTimestampFn(SerializableFunction&lt;KV&lt;K, V&gt;, Instant&gt;)</a>
<div class="block"><span class="deprecationComment">as of version 2.4. Use <a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#withTimestampPolicyFactory-org.apache.beam.sdk.io.kafka.TimestampPolicyFactory-"><code>KafkaIO.Read.withTimestampPolicyFactory(TimestampPolicyFactory)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#withTimestampFn2-org.apache.beam.sdk.transforms.SerializableFunction-">org.apache.beam.sdk.io.kafka.KafkaIO.Read.withTimestampFn2(SerializableFunction&lt;KafkaRecord&lt;K, V&gt;, Instant&gt;)</a>
<div class="block"><span class="deprecationComment">as of version 2.4. Use <a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#withTimestampPolicyFactory-org.apache.beam.sdk.io.kafka.TimestampPolicyFactory-"><code>KafkaIO.Read.withTimestampPolicyFactory(TimestampPolicyFactory)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#withWatermarkFn-org.apache.beam.sdk.transforms.SerializableFunction-">org.apache.beam.sdk.io.kafka.KafkaIO.Read.withWatermarkFn(SerializableFunction&lt;KV&lt;K, V&gt;, Instant&gt;)</a>
<div class="block"><span class="deprecationComment">as of version 2.4. Use <a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#withTimestampPolicyFactory-org.apache.beam.sdk.io.kafka.TimestampPolicyFactory-"><code>KafkaIO.Read.withTimestampPolicyFactory(TimestampPolicyFactory)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#withWatermarkFn2-org.apache.beam.sdk.transforms.SerializableFunction-">org.apache.beam.sdk.io.kafka.KafkaIO.Read.withWatermarkFn2(SerializableFunction&lt;KafkaRecord&lt;K, V&gt;, Instant&gt;)</a>
<div class="block"><span class="deprecationComment">as of version 2.4. Use <a href="org/apache/beam/sdk/io/kafka/KafkaIO.Read.html#withTimestampPolicyFactory-org.apache.beam.sdk.io.kafka.TimestampPolicyFactory-"><code>KafkaIO.Read.withTimestampPolicyFactory(TimestampPolicyFactory)</code></a> instead.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="constructor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Constructors table, listing deprecated constructors, and an explanation">
<caption><span>Deprecated Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/runners/fnexecution/data/GrpcDataService.html#GrpcDataService--">org.apache.beam.runners.fnexecution.data.GrpcDataService()</a>
<div class="block"><span class="deprecationComment">This constructor is for migrating Dataflow purpose only.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="enum.constant">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Enum Constants table, listing deprecated enum constants, and an explanation">
<caption><span>Deprecated Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Enum Constant and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/beam/runners/dataflow/options/DataflowPipelineWorkerPoolOptions.AutoscalingAlgorithmType.html#BASIC">org.apache.beam.runners.dataflow.options.DataflowPipelineWorkerPoolOptions.AutoscalingAlgorithmType.BASIC</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/beam/runners/dataflow/options/DataflowPipelineWorkerPoolOptions.AutoscalingAlgorithmType.html#THROUGHPUT_BASED"><code>DataflowPipelineWorkerPoolOptions.AutoscalingAlgorithmType.THROUGHPUT_BASED</code></a>.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
