<!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_161-google-v7) on Thu Oct 18 16:14:33 PDT 2018 -->
<title>PTransform (Apache Beam 2.8.0-SNAPSHOT)</title>
<meta name="date" content="2018-10-18">
<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="PTransform (Apache Beam 2.8.0-SNAPSHOT)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":6,"i2":10,"i3":42,"i4":42,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></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><a href="../../../../../org/apache/beam/sdk/transforms/Partition.PartitionFn.html" title="interface in org.apache.beam.sdk.transforms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/transforms/Regex.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/transforms/PTransform.html" target="_top">Frames</a></li>
<li><a href="PTransform.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.transforms</div>
<h2 title="Class PTransform" class="title">Class PTransform&lt;InputT extends <a href="../../../../../org/apache/beam/sdk/values/PInput.html" title="interface in org.apache.beam.sdk.values">PInput</a>,OutputT extends <a href="../../../../../org/apache/beam/sdk/values/POutput.html" title="interface in org.apache.beam.sdk.values">POutput</a>&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.beam.sdk.transforms.PTransform&lt;InputT,OutputT&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>InputT</code> - the type of the input to this PTransform</dd>
<dd><code>OutputT</code> - the type of the output of this PTransform</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display">HasDisplayData</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/beam/sdk/io/amqp/AmqpIO.Read.html" title="class in org.apache.beam.sdk.io.amqp">AmqpIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/amqp/AmqpIO.Write.html" title="class in org.apache.beam.sdk.io.amqp">AmqpIO.Write</a>, <a href="../../../../../org/apache/beam/runners/apex/ApexRunner.CreateApexPCollectionView.html" title="class in org.apache.beam.runners.apex">ApexRunner.CreateApexPCollectionView</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sketching/ApproximateDistinct.GloballyDistinct.html" title="class in org.apache.beam.sdk.extensions.sketching">ApproximateDistinct.GloballyDistinct</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sketching/ApproximateDistinct.PerKeyDistinct.html" title="class in org.apache.beam.sdk.extensions.sketching">ApproximateDistinct.PerKeyDistinct</a>, <a href="../../../../../org/apache/beam/sdk/extensions/jackson/AsJsons.html" title="class in org.apache.beam.sdk.extensions.jackson">AsJsons</a>, <a href="../../../../../org/apache/beam/sdk/io/AvroIO.Parse.html" title="class in org.apache.beam.sdk.io">AvroIO.Parse</a>, <a href="../../../../../org/apache/beam/sdk/io/AvroIO.ParseAll.html" title="class in org.apache.beam.sdk.io">AvroIO.ParseAll</a>, <a href="../../../../../org/apache/beam/sdk/io/AvroIO.Read.html" title="class in org.apache.beam.sdk.io">AvroIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/AvroIO.ReadAll.html" title="class in org.apache.beam.sdk.io">AvroIO.ReadAll</a>, <a href="../../../../../org/apache/beam/sdk/io/AvroIO.TypedWrite.html" title="class in org.apache.beam.sdk.io">AvroIO.TypedWrite</a>, <a href="../../../../../org/apache/beam/sdk/io/AvroIO.Write.html" title="class in org.apache.beam.sdk.io">AvroIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sql/impl/transform/BeamJoinTransforms.JoinAsLookup.html" title="class in org.apache.beam.sdk.extensions.sql.impl.transform">BeamJoinTransforms.JoinAsLookup</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sql/meta/provider/kafka/BeamKafkaCSVTable.CsvRecorderDecoder.html" title="class in org.apache.beam.sdk.extensions.sql.meta.provider.kafka">BeamKafkaCSVTable.CsvRecorderDecoder</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sql/meta/provider/kafka/BeamKafkaCSVTable.CsvRecorderEncoder.html" title="class in org.apache.beam.sdk.extensions.sql.meta.provider.kafka">BeamKafkaCSVTable.CsvRecorderEncoder</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSetOperatorRelBase.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSetOperatorRelBase</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.Read.html" title="class in org.apache.beam.sdk.io.gcp.bigquery">BigQueryIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.TypedRead.html" title="class in org.apache.beam.sdk.io.gcp.bigquery">BigQueryIO.TypedRead</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.bigquery">BigQueryIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Read.html" title="class in org.apache.beam.sdk.io.gcp.bigtable">BigtableIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.bigtable">BigtableIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/BoundedReadFromUnboundedSource.html" title="class in org.apache.beam.sdk.io">BoundedReadFromUnboundedSource</a>, <a href="../../../../../org/apache/beam/sdk/io/cassandra/CassandraIO.Read.html" title="class in org.apache.beam.sdk.io.cassandra">CassandraIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/cassandra/CassandraIO.Write.html" title="class in org.apache.beam.sdk.io.cassandra">CassandraIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/transforms/join/CoGroupByKey.html" title="class in org.apache.beam.sdk.transforms.join">CoGroupByKey</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms">Combine.Globally</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GloballyAsSingletonView.html" title="class in org.apache.beam.sdk.transforms">Combine.GloballyAsSingletonView</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms">Combine.GroupedValues</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKey</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKeyWithHotKeyFanout.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKeyWithHotKeyFanout</a>, <a href="../../../../../org/apache/beam/runners/spark/io/ConsoleIO.Write.Unbound.html" title="class in org.apache.beam.runners.spark.io">ConsoleIO.Write.Unbound</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Create.OfValueProvider.html" title="class in org.apache.beam.sdk.transforms">Create.OfValueProvider</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Create.TimestampedValues.html" title="class in org.apache.beam.sdk.transforms">Create.TimestampedValues</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Create.Values.html" title="class in org.apache.beam.sdk.transforms">Create.Values</a>, <a href="../../../../../org/apache/beam/runners/dataflow/CreateDataflowView.html" title="class in org.apache.beam.runners.dataflow">CreateDataflowView</a>, <a href="../../../../../org/apache/beam/runners/spark/io/CreateStream.html" title="class in org.apache.beam.runners.spark.io">CreateStream</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigquery/CreateTables.html" title="class in org.apache.beam.sdk.io.gcp.bigquery">CreateTables</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/datastore/DatastoreV1.DeleteEntity.html" title="class in org.apache.beam.sdk.io.gcp.datastore">DatastoreV1.DeleteEntity</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/datastore/DatastoreV1.DeleteKey.html" title="class in org.apache.beam.sdk.io.gcp.datastore">DatastoreV1.DeleteKey</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/datastore/DatastoreV1.Read.html" title="class in org.apache.beam.sdk.io.gcp.datastore">DatastoreV1.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/datastore/DatastoreV1.Write.html" title="class in org.apache.beam.sdk.io.gcp.datastore">DatastoreV1.Write</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Distinct.html" title="class in org.apache.beam.sdk.transforms">Distinct</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Distinct.WithRepresentativeValues.html" title="class in org.apache.beam.sdk.transforms">Distinct.WithRepresentativeValues</a>, <a href="../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Read.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.Write.html" title="class in org.apache.beam.sdk.io.elasticsearch">ElasticsearchIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/FileIO.Match.html" title="class in org.apache.beam.sdk.io">FileIO.Match</a>, <a href="../../../../../org/apache/beam/sdk/io/FileIO.MatchAll.html" title="class in org.apache.beam.sdk.io">FileIO.MatchAll</a>, <a href="../../../../../org/apache/beam/sdk/io/FileIO.ReadMatches.html" title="class in org.apache.beam.sdk.io">FileIO.ReadMatches</a>, <a href="../../../../../org/apache/beam/sdk/io/FileIO.Write.html" title="class in org.apache.beam.sdk.io">FileIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Filter.html" title="class in org.apache.beam.sdk.transforms">Filter</a>, <a href="../../../../../org/apache/beam/sdk/schemas/transforms/Filter.Inner.html" title="class in org.apache.beam.sdk.schemas.transforms">Filter.Inner</a>, <a href="../../../../../org/apache/beam/sdk/transforms/FlatMapElements.html" title="class in org.apache.beam.sdk.transforms">FlatMapElements</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Flatten.Iterables.html" title="class in org.apache.beam.sdk.transforms">Flatten.Iterables</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Flatten.PCollections.html" title="class in org.apache.beam.sdk.transforms">Flatten.PCollections</a>, org.apache.beam.runners.core.construction.ForwardingPTransform, <a href="../../../../../org/apache/beam/sdk/io/GenerateSequence.html" title="class in org.apache.beam.sdk.io">GenerateSequence</a>, <a href="../../../../../org/apache/beam/sdk/schemas/transforms/Group.ByFields.html" title="class in org.apache.beam.sdk.schemas.transforms">Group.ByFields</a>, <a href="../../../../../org/apache/beam/sdk/schemas/transforms/Group.CombineByFields.html" title="class in org.apache.beam.sdk.schemas.transforms">Group.CombineByFields</a>, <a href="../../../../../org/apache/beam/sdk/schemas/transforms/Group.CombineFieldsByFields.html" title="class in org.apache.beam.sdk.schemas.transforms">Group.CombineFieldsByFields</a>, <a href="../../../../../org/apache/beam/sdk/schemas/transforms/Group.CombineFieldsGlobally.html" title="class in org.apache.beam.sdk.schemas.transforms">Group.CombineFieldsGlobally</a>, <a href="../../../../../org/apache/beam/sdk/schemas/transforms/Group.CombineGlobally.html" title="class in org.apache.beam.sdk.schemas.transforms">Group.CombineGlobally</a>, <a href="../../../../../org/apache/beam/sdk/schemas/transforms/Group.Global.html" title="class in org.apache.beam.sdk.schemas.transforms">Group.Global</a>, <a href="../../../../../org/apache/beam/sdk/transforms/GroupByKey.html" title="class in org.apache.beam.sdk.transforms">GroupByKey</a>, <a href="../../../../../org/apache/beam/sdk/transforms/GroupIntoBatches.html" title="class in org.apache.beam.sdk.transforms">GroupIntoBatches</a>, <a href="../../../../../org/apache/beam/sdk/io/hadoop/inputformat/HadoopInputFormatIO.Read.html" title="class in org.apache.beam.sdk.io.hadoop.inputformat">HadoopInputFormatIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/hbase/HBaseIO.Read.html" title="class in org.apache.beam.sdk.io.hbase">HBaseIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/hbase/HBaseIO.ReadAll.html" title="class in org.apache.beam.sdk.io.hbase">HBaseIO.ReadAll</a>, <a href="../../../../../org/apache/beam/sdk/io/hbase/HBaseIO.Write.html" title="class in org.apache.beam.sdk.io.hbase">HBaseIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/hcatalog/HCatalogIO.Read.html" title="class in org.apache.beam.sdk.io.hcatalog">HCatalogIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/hcatalog/HCatalogIO.Write.html" title="class in org.apache.beam.sdk.io.hcatalog">HCatalogIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Impulse.html" title="class in org.apache.beam.sdk.transforms">Impulse</a>, <a href="../../../../../org/apache/beam/sdk/io/jdbc/JdbcIO.Read.html" title="class in org.apache.beam.sdk.io.jdbc">JdbcIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/jdbc/JdbcIO.ReadAll.html" title="class in org.apache.beam.sdk.io.jdbc">JdbcIO.ReadAll</a>, <a href="../../../../../org/apache/beam/sdk/io/jdbc/JdbcIO.Write.html" title="class in org.apache.beam.sdk.io.jdbc">JdbcIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/jms/JmsIO.Read.html" title="class in org.apache.beam.sdk.io.jms">JmsIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/jms/JmsIO.Write.html" title="class in org.apache.beam.sdk.io.jms">JmsIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/kafka/KafkaIO.Read.html" title="class in org.apache.beam.sdk.io.kafka">KafkaIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/kafka/KafkaIO.TypedWithoutMetadata.html" title="class in org.apache.beam.sdk.io.kafka">KafkaIO.TypedWithoutMetadata</a>, <a href="../../../../../org/apache/beam/sdk/io/kafka/KafkaIO.Write.html" title="class in org.apache.beam.sdk.io.kafka">KafkaIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Keys.html" title="class in org.apache.beam.sdk.transforms">Keys</a>, <a href="../../../../../org/apache/beam/sdk/io/kinesis/KinesisIO.Read.html" title="class in org.apache.beam.sdk.io.kinesis">KinesisIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/kinesis/KinesisIO.Write.html" title="class in org.apache.beam.sdk.io.kinesis">KinesisIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/transforms/KvSwap.html" title="class in org.apache.beam.sdk.transforms">KvSwap</a>, <a href="../../../../../org/apache/beam/sdk/transforms/MapElements.html" title="class in org.apache.beam.sdk.transforms">MapElements</a>, <a href="../../../../../org/apache/beam/sdk/io/mongodb/MongoDbGridFSIO.Read.html" title="class in org.apache.beam.sdk.io.mongodb">MongoDbGridFSIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/mongodb/MongoDbGridFSIO.Write.html" title="class in org.apache.beam.sdk.io.mongodb">MongoDbGridFSIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/mongodb/MongoDbIO.Read.html" title="class in org.apache.beam.sdk.io.mongodb">MongoDbIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/mongodb/MongoDbIO.Write.html" title="class in org.apache.beam.sdk.io.mongodb">MongoDbIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/mqtt/MqttIO.Read.html" title="class in org.apache.beam.sdk.io.mqtt">MqttIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/mqtt/MqttIO.Write.html" title="class in org.apache.beam.sdk.io.mqtt">MqttIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/transforms/ParDo.MultiOutput.html" title="class in org.apache.beam.sdk.transforms">ParDo.MultiOutput</a>, <a href="../../../../../org/apache/beam/sdk/transforms/ParDo.SingleOutput.html" title="class in org.apache.beam.sdk.transforms">ParDo.SingleOutput</a>, <a href="../../../../../org/apache/beam/sdk/io/parquet/ParquetIO.Read.html" title="class in org.apache.beam.sdk.io.parquet">ParquetIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/parquet/ParquetIO.ReadFiles.html" title="class in org.apache.beam.sdk.io.parquet">ParquetIO.ReadFiles</a>, <a href="../../../../../org/apache/beam/sdk/extensions/jackson/ParseJsons.html" title="class in org.apache.beam.sdk.extensions.jackson">ParseJsons</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Partition.html" title="class in org.apache.beam.sdk.transforms">Partition</a>, <a href="../../../../../org/apache/beam/sdk/testing/PAssert.DefaultConcludeTransform.html" title="class in org.apache.beam.sdk.testing">PAssert.DefaultConcludeTransform</a>, <a href="../../../../../org/apache/beam/sdk/testing/PAssert.GroupThenAssert.html" title="class in org.apache.beam.sdk.testing">PAssert.GroupThenAssert</a>, <a href="../../../../../org/apache/beam/sdk/testing/PAssert.GroupThenAssertForSingleton.html" title="class in org.apache.beam.sdk.testing">PAssert.GroupThenAssertForSingleton</a>, <a href="../../../../../org/apache/beam/sdk/testing/PAssert.OneSideInputAssert.html" title="class in org.apache.beam.sdk.testing">PAssert.OneSideInputAssert</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigquery/PrepareWrite.html" title="class in org.apache.beam.sdk.io.gcp.bigquery">PrepareWrite</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Read.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubUnboundedSink.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubUnboundedSink</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubUnboundedSource.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubUnboundedSource</a>, <a href="../../../../../org/apache/beam/sdk/io/Read.Bounded.html" title="class in org.apache.beam.sdk.io">Read.Bounded</a>, <a href="../../../../../org/apache/beam/sdk/io/Read.Unbounded.html" title="class in org.apache.beam.sdk.io">Read.Unbounded</a>, <a href="../../../../../org/apache/beam/sdk/io/ReadAllViaFileBasedSource.html" title="class in org.apache.beam.sdk.io">ReadAllViaFileBasedSource</a>, <a href="../../../../../org/apache/beam/sdk/io/redis/RedisIO.Read.html" title="class in org.apache.beam.sdk.io.redis">RedisIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/redis/RedisIO.ReadAll.html" title="class in org.apache.beam.sdk.io.redis">RedisIO.ReadAll</a>, <a href="../../../../../org/apache/beam/sdk/io/redis/RedisIO.Write.html" title="class in org.apache.beam.sdk.io.redis">RedisIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.AllMatches.html" title="class in org.apache.beam.sdk.transforms">Regex.AllMatches</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.Find.html" title="class in org.apache.beam.sdk.transforms">Regex.Find</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.FindAll.html" title="class in org.apache.beam.sdk.transforms">Regex.FindAll</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.FindKV.html" title="class in org.apache.beam.sdk.transforms">Regex.FindKV</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.FindName.html" title="class in org.apache.beam.sdk.transforms">Regex.FindName</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.FindNameKV.html" title="class in org.apache.beam.sdk.transforms">Regex.FindNameKV</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.Matches.html" title="class in org.apache.beam.sdk.transforms">Regex.Matches</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.MatchesKV.html" title="class in org.apache.beam.sdk.transforms">Regex.MatchesKV</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.MatchesName.html" title="class in org.apache.beam.sdk.transforms">Regex.MatchesName</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.MatchesNameKV.html" title="class in org.apache.beam.sdk.transforms">Regex.MatchesNameKV</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.ReplaceAll.html" title="class in org.apache.beam.sdk.transforms">Regex.ReplaceAll</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.ReplaceFirst.html" title="class in org.apache.beam.sdk.transforms">Regex.ReplaceFirst</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Regex.Split.html" title="class in org.apache.beam.sdk.transforms">Regex.Split</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigquery/ReifyAsIterable.html" title="class in org.apache.beam.sdk.io.gcp.bigquery">ReifyAsIterable</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Reshuffle.html" title="class in org.apache.beam.sdk.transforms">Reshuffle</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Reshuffle.ViaRandomKey.html" title="class in org.apache.beam.sdk.transforms">Reshuffle.ViaRandomKey</a>, <a href="../../../../../org/apache/beam/sdk/schemas/transforms/Select.html" title="class in org.apache.beam.sdk.schemas.transforms">Select</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sketching/SketchFrequencies.GlobalSketch.html" title="class in org.apache.beam.sdk.extensions.sketching">SketchFrequencies.GlobalSketch</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sketching/SketchFrequencies.PerKeySketch.html" title="class in org.apache.beam.sdk.extensions.sketching">SketchFrequencies.PerKeySketch</a>, <a href="../../../../../org/apache/beam/sdk/io/aws/sns/SnsIO.Write.html" title="class in org.apache.beam.sdk.io.aws.sns">SnsIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/solr/SolrIO.Read.html" title="class in org.apache.beam.sdk.io.solr">SolrIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/solr/SolrIO.Write.html" title="class in org.apache.beam.sdk.io.solr">SolrIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sorter/SortValues.html" title="class in org.apache.beam.sdk.extensions.sorter">SortValues</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/spanner/SpannerIO.CreateTransaction.html" title="class in org.apache.beam.sdk.io.gcp.spanner">SpannerIO.CreateTransaction</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/spanner/SpannerIO.Read.html" title="class in org.apache.beam.sdk.io.gcp.spanner">SpannerIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/spanner/SpannerIO.ReadAll.html" title="class in org.apache.beam.sdk.io.gcp.spanner">SpannerIO.ReadAll</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/spanner/SpannerIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.spanner">SpannerIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/spanner/SpannerIO.WriteGrouped.html" title="class in org.apache.beam.sdk.io.gcp.spanner">SpannerIO.WriteGrouped</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sql/SqlTransform.html" title="class in org.apache.beam.sdk.extensions.sql">SqlTransform</a>, <a href="../../../../../org/apache/beam/sdk/io/aws/sqs/SqsIO.Read.html" title="class in org.apache.beam.sdk.io.aws.sqs">SqsIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/aws/sqs/SqsIO.Write.html" title="class in org.apache.beam.sdk.io.aws.sqs">SqsIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigquery/StreamingInserts.html" title="class in org.apache.beam.sdk.io.gcp.bigquery">StreamingInserts</a>, <a href="../../../../../org/apache/beam/sdk/io/gcp/bigquery/StreamingWriteTables.html" title="class in org.apache.beam.sdk.io.gcp.bigquery">StreamingWriteTables</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sketching/TDigestQuantiles.GlobalDigest.html" title="class in org.apache.beam.sdk.extensions.sketching">TDigestQuantiles.GlobalDigest</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sketching/TDigestQuantiles.PerKeyDigest.html" title="class in org.apache.beam.sdk.extensions.sketching">TDigestQuantiles.PerKeyDigest</a>, <a href="../../../../../org/apache/beam/sdk/testing/TestStream.html" title="class in org.apache.beam.sdk.testing">TestStream</a>, <a href="../../../../../org/apache/beam/sdk/io/TextIO.Read.html" title="class in org.apache.beam.sdk.io">TextIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/TextIO.ReadAll.html" title="class in org.apache.beam.sdk.io">TextIO.ReadAll</a>, <a href="../../../../../org/apache/beam/sdk/io/TextIO.ReadFiles.html" title="class in org.apache.beam.sdk.io">TextIO.ReadFiles</a>, <a href="../../../../../org/apache/beam/sdk/io/TextIO.TypedWrite.html" title="class in org.apache.beam.sdk.io">TextIO.TypedWrite</a>, <a href="../../../../../org/apache/beam/sdk/io/TextIO.Write.html" title="class in org.apache.beam.sdk.io">TextIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sql/meta/provider/text/TextTableProvider.CsvToRow.html" title="class in org.apache.beam.sdk.extensions.sql.meta.provider.text">TextTableProvider.CsvToRow</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sql/meta/provider/text/TextTableProvider.LinesReadConverter.html" title="class in org.apache.beam.sdk.extensions.sql.meta.provider.text">TextTableProvider.LinesReadConverter</a>, <a href="../../../../../org/apache/beam/sdk/extensions/sql/meta/provider/text/TextTableProvider.LinesWriteConverter.html" title="class in org.apache.beam.sdk.extensions.sql.meta.provider.text">TextTableProvider.LinesWriteConverter</a>, <a href="../../../../../org/apache/beam/sdk/io/TFRecordIO.Read.html" title="class in org.apache.beam.sdk.io">TFRecordIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/TFRecordIO.Write.html" title="class in org.apache.beam.sdk.io">TFRecordIO.Write</a>, <a href="../../../../../org/apache/beam/sdk/io/tika/TikaIO.Parse.html" title="class in org.apache.beam.sdk.io.tika">TikaIO.Parse</a>, <a href="../../../../../org/apache/beam/sdk/io/tika/TikaIO.ParseFiles.html" title="class in org.apache.beam.sdk.io.tika">TikaIO.ParseFiles</a>, <a href="../../../../../org/apache/beam/sdk/schemas/transforms/Unnest.Inner.html" title="class in org.apache.beam.sdk.schemas.transforms">Unnest.Inner</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Values.html" title="class in org.apache.beam.sdk.transforms">Values</a>, <a href="../../../../../org/apache/beam/sdk/transforms/View.AsIterable.html" title="class in org.apache.beam.sdk.transforms">View.AsIterable</a>, <a href="../../../../../org/apache/beam/sdk/transforms/View.AsList.html" title="class in org.apache.beam.sdk.transforms">View.AsList</a>, <a href="../../../../../org/apache/beam/sdk/transforms/View.AsMap.html" title="class in org.apache.beam.sdk.transforms">View.AsMap</a>, <a href="../../../../../org/apache/beam/sdk/transforms/View.AsMultimap.html" title="class in org.apache.beam.sdk.transforms">View.AsMultimap</a>, <a href="../../../../../org/apache/beam/sdk/transforms/View.AsSingleton.html" title="class in org.apache.beam.sdk.transforms">View.AsSingleton</a>, <a href="../../../../../org/apache/beam/sdk/transforms/View.CreatePCollectionView.html" title="class in org.apache.beam.sdk.transforms">View.CreatePCollectionView</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Wait.OnSignal.html" title="class in org.apache.beam.sdk.transforms">Wait.OnSignal</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html" title="class in org.apache.beam.sdk.transforms">Watch.Growth</a>, <a href="../../../../../org/apache/beam/sdk/transforms/windowing/Window.html" title="class in org.apache.beam.sdk.transforms.windowing">Window</a>, <a href="../../../../../org/apache/beam/sdk/transforms/windowing/Window.Assign.html" title="class in org.apache.beam.sdk.transforms.windowing">Window.Assign</a>, <a href="../../../../../org/apache/beam/sdk/transforms/WithKeys.html" title="class in org.apache.beam.sdk.transforms">WithKeys</a>, <a href="../../../../../org/apache/beam/sdk/transforms/WithTimestamps.html" title="class in org.apache.beam.sdk.transforms">WithTimestamps</a>, <a href="../../../../../org/apache/beam/sdk/io/WriteFiles.html" title="class in org.apache.beam.sdk.io">WriteFiles</a>, <a href="../../../../../org/apache/beam/sdk/io/xml/XmlIO.Read.html" title="class in org.apache.beam.sdk.io.xml">XmlIO.Read</a>, <a href="../../../../../org/apache/beam/sdk/io/xml/XmlIO.ReadFiles.html" title="class in org.apache.beam.sdk.io.xml">XmlIO.ReadFiles</a>, <a href="../../../../../org/apache/beam/sdk/io/xml/XmlIO.Write.html" title="class in org.apache.beam.sdk.io.xml">XmlIO.Write</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">PTransform&lt;InputT extends <a href="../../../../../org/apache/beam/sdk/values/PInput.html" title="interface in org.apache.beam.sdk.values">PInput</a>,OutputT extends <a href="../../../../../org/apache/beam/sdk/values/POutput.html" title="interface in org.apache.beam.sdk.values">POutput</a>&gt;</span>
extends java.lang.Object
implements java.io.Serializable, <a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display">HasDisplayData</a></pre>
<div class="block">A <code>PTransform&lt;InputT, OutputT&gt;</code> is an operation that takes an <code>InputT</code> (some subtype
 of <a href="../../../../../org/apache/beam/sdk/values/PInput.html" title="interface in org.apache.beam.sdk.values"><code>PInput</code></a>) and produces an <code>OutputT</code> (some subtype of <a href="../../../../../org/apache/beam/sdk/values/POutput.html" title="interface in org.apache.beam.sdk.values"><code>POutput</code></a>).

 <p>Common PTransforms include root PTransforms like <a href="../../../../../org/apache/beam/sdk/io/TextIO.Read.html" title="class in org.apache.beam.sdk.io"><code>TextIO.Read</code></a>,
 <a href="../../../../../org/apache/beam/sdk/transforms/Create.html" title="class in org.apache.beam.sdk.transforms"><code>Create</code></a>, processing and conversion operations like <a href="../../../../../org/apache/beam/sdk/transforms/ParDo.html" title="class in org.apache.beam.sdk.transforms"><code>ParDo</code></a>, <a href="../../../../../org/apache/beam/sdk/transforms/GroupByKey.html" title="class in org.apache.beam.sdk.transforms"><code>GroupByKey</code></a>,
 <a href="../../../../../org/apache/beam/sdk/transforms/join/CoGroupByKey.html" title="class in org.apache.beam.sdk.transforms.join"><code>CoGroupByKey</code></a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.html" title="class in org.apache.beam.sdk.transforms"><code>Combine</code></a>, and <a href="../../../../../org/apache/beam/sdk/transforms/Count.html" title="class in org.apache.beam.sdk.transforms"><code>Count</code></a>, and
 outputting PTransforms like <a href="../../../../../org/apache/beam/sdk/io/TextIO.Write.html" title="class in org.apache.beam.sdk.io"><code>TextIO.Write</code></a>. Users also define their
 own application-specific composite PTransforms.

 <p>Each <code>PTransform&lt;InputT, OutputT&gt;</code> has a single <code>InputT</code> type and a single <code>OutputT</code> type. Many PTransforms conceptually transform one input value to one output value, and
 in this case <code>InputT</code> and <code>Output</code> are typically instances of <a href="../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a>. A root PTransform conceptually has no input; in this
 case, conventionally a <a href="../../../../../org/apache/beam/sdk/values/PBegin.html" title="class in org.apache.beam.sdk.values"><code>PBegin</code></a> object produced by calling
 <a href="../../../../../org/apache/beam/sdk/Pipeline.html#begin--"><code>Pipeline.begin()</code></a> is used as the input. An outputting PTransform conceptually has no output;
 in this case, conventionally <a href="../../../../../org/apache/beam/sdk/values/PDone.html" title="class in org.apache.beam.sdk.values"><code>PDone</code></a> is used as its output type.
 Some PTransforms conceptually have multiple inputs and/or outputs; in these cases special
 "bundling" classes like <a href="../../../../../org/apache/beam/sdk/values/PCollectionList.html" title="class in org.apache.beam.sdk.values"><code>PCollectionList</code></a>, <a href="../../../../../org/apache/beam/sdk/values/PCollectionTuple.html" title="class in org.apache.beam.sdk.values"><code>PCollectionTuple</code></a> are used to combine multiple values into a single
 bundle for passing into or returning from the PTransform.

 <p>A <code>PTransform&lt;InputT, OutputT&gt;</code> is invoked by calling <code>apply()</code> on its <code>InputT</code>, returning its <code>OutputT</code>. Calls can be chained to concisely create linear pipeline
 segments. For example:

 <pre><code>
 PCollection&lt;T1&gt; pc1 = ...;
 PCollection&lt;T2&gt; pc2 =
     pc1.apply(ParDo.of(new MyDoFn&lt;T1,KV&lt;K,V&gt;&gt;()))
        .apply(GroupByKey.&lt;K, V&gt;create())
        .apply(Combine.perKey(new MyKeyedCombineFn&lt;K,V&gt;()))
        .apply(ParDo.of(new MyDoFn2&lt;KV&lt;K,V&gt;,T2&gt;()));
 </code></pre>

 <p>PTransform operations have unique names, which are used by the system when explaining what's
 going on during optimization and execution. Each PTransform gets a system-provided default name,
 but it's a good practice to specify a more informative explicit name when applying the transform.
 For example:

 <pre><code>
 ...
 .apply("Step1", ParDo.of(new MyDoFn3()))
 ...
 </code></pre>

 <p>Each PCollection output produced by a PTransform, either directly or within a "bundling"
 class, automatically gets its own name derived from the name of its producing PTransform.

 <p>Each PCollection output produced by a PTransform also records a <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that specifies how the elements of that PCollection are to be
 encoded as a byte string, if necessary. The PTransform may provide a default Coder for any of its
 outputs, for instance by deriving it from the PTransform input's Coder. If the PTransform does
 not specify the Coder for an output PCollection, the system will attempt to infer a Coder for it,
 based on what's known at run-time about the Java type of the output's elements. The enclosing
 <a href="../../../../../org/apache/beam/sdk/Pipeline.html" title="class in org.apache.beam.sdk"><code>Pipeline</code></a>'s <a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html" title="class in org.apache.beam.sdk.coders"><code>CoderRegistry</code></a> (accessible via <a href="../../../../../org/apache/beam/sdk/Pipeline.html#getCoderRegistry--"><code>Pipeline.getCoderRegistry()</code></a>) defines the mapping from Java types to the default Coder to use, for
 a standard set of Java types; users can extend this mapping for additional types, via <a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html#registerCoderProvider-org.apache.beam.sdk.coders.CoderProvider-"><code>CoderRegistry.registerCoderProvider(org.apache.beam.sdk.coders.CoderProvider)</code></a>. If this inference process fails,
 either because the Java type was not known at run-time (e.g., due to Java's "erasure" of generic
 types) or there was no default Coder registered, then the Coder should be specified manually by
 calling <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 output PCollection. The Coder of every output
 PCollection must be determined one way or another before that output is used as an input to
 another PTransform, or before the enclosing Pipeline is run.

 <p>A small number of PTransforms are implemented natively by the Apache Beam SDK; such
 PTransforms simply return an output value as their apply implementation. The majority of
 PTransforms are implemented as composites of other PTransforms. Such a PTransform subclass
 typically just implements <a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#expand-InputT-"><code>expand(InputT)</code></a>, computing its Output value from its <code>InputT</code>
 value. User programs are encouraged to use this mechanism to modularize their own code. Such
 composite abstractions get their own name, and navigating through the composition hierarchy of
 PTransforms is supported by the monitoring interface. Examples of composite PTransforms can be
 found in this directory and in examples. From the caller's point of view, there is no distinction
 between a PTransform implemented natively and one implemented in terms of other PTransforms; both
 kinds of PTransform are invoked in the same way, using <code>apply()</code>.

 <h3>Note on Serialization</h3>

 <p><code>PTransform</code> doesn't actually support serialization, despite implementing <code>Serializable</code>.

 <p><code>PTransform</code> is marked <code>Serializable</code> solely because it is common for an anonymous
 <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn</code></a>, instance to be created within an <code>apply()</code> method of a composite <code>PTransform</code>.

 <p>Each of those <code>*Fn</code>s is <code>Serializable</code>, but unfortunately its instance state will
 contain a reference to the enclosing <code>PTransform</code> instance, and so attempt to serialize the
 <code>PTransform</code> instance, even though the <code>*Fn</code> instance never references anything about
 the enclosing <code>PTransform</code>.

 <p>To allow such anonymous <code>*Fn</code>s to be written conveniently, <code>PTransform</code> is marked
 as <code>Serializable</code>, and includes dummy <code>writeObject()</code> and <code>readObject()</code>
 operations that do not save or restore any state.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href= "https://beam.apache.org/documentation/programming-guide/#transforms" >Applying
     Transformations</a>, 
<a href="../../../../../serialized-form.html#org.apache.beam.sdk.transforms.PTransform">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#name">name</a></span></code>
<div class="block">The base name of this <code>PTransform</code>, e.g., from defaults, or <code>null</code> if not yet
 assigned.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#PTransform--">PTransform</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#PTransform-java.lang.String-">PTransform</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static &lt;InputT extends <a href="../../../../../org/apache/beam/sdk/values/PInput.html" title="interface in org.apache.beam.sdk.values">PInput</a>,OutputT extends <a href="../../../../../org/apache/beam/sdk/values/POutput.html" title="interface in org.apache.beam.sdk.values">POutput</a>&gt;<br><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a>&lt;InputT,OutputT&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#compose-org.apache.beam.sdk.transforms.SerializableFunction-">compose</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableFunction</a>&lt;InputT,OutputT&gt;&nbsp;fn)</code>
<div class="block">For a <code>SerializableFunction&lt;InputT, OutputT&gt;</code> <code>fn</code>, returns a <code>PTransform</code>
 given by applying <code>fn.apply(v)</code> to the input <code>PCollection&lt;InputT&gt;</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="type parameter in PTransform">OutputT</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#expand-InputT-">expand</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="type parameter in PTransform">InputT</a>&nbsp;input)</code>
<div class="block">Override this method to specify how this <code>PTransform</code> should be expanded on the given
 <code>InputT</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../../org/apache/beam/sdk/values/TupleTag.html" title="class in org.apache.beam.sdk.values">TupleTag</a>&lt;?&gt;,<a href="../../../../../org/apache/beam/sdk/values/PValue.html" title="interface in org.apache.beam.sdk.values">PValue</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#getAdditionalInputs--">getAdditionalInputs</a></span>()</code>
<div class="block">Returns all <a href="../../../../../org/apache/beam/sdk/values/PValue.html" title="interface in org.apache.beam.sdk.values"><code>PValues</code></a> that are consumed as inputs to this <a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms"><code>PTransform</code></a> that
 are independent of the expansion of the <code>InputT</code> within <a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#expand-InputT-"><code>expand(PInput)</code></a>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder--">getDefaultOutputCoder</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<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>
</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder-InputT-">getDefaultOutputCoder</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="type parameter in PTransform">InputT</a>&nbsp;input)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<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>
</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder-InputT-org.apache.beam.sdk.values.PCollection-">getDefaultOutputCoder</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="type parameter in PTransform">InputT</a>&nbsp;input,
                     <a href="../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;T&gt;&nbsp;output)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<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>
</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#getKindString--">getKindString</a></span>()</code>
<div class="block">Returns the name to use by default for this <code>PTransform</code> (not including the names of any
 enclosing <code>PTransform</code>s).</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#getName--">getName</a></span>()</code>
<div class="block">Returns the transform name.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">populateDisplayData</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/display/DisplayData.Builder.html" title="interface in org.apache.beam.sdk.transforms.display">DisplayData.Builder</a>&nbsp;builder)</code>
<div class="block">Register display data for the given transform or component.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#validate-org.apache.beam.sdk.options.PipelineOptions-">validate</a></span>(<a href="../../../../../org/apache/beam/sdk/options/PipelineOptions.html" title="interface in org.apache.beam.sdk.options">PipelineOptions</a>&nbsp;options)</code>
<div class="block">Called before running the Pipeline to verify this transform is fully and correctly specified.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="name">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>name</h4>
<pre>@Nullable
protected final transient&nbsp;java.lang.String name</pre>
<div class="block">The base name of this <code>PTransform</code>, e.g., from defaults, or <code>null</code> if not yet
 assigned.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="PTransform--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PTransform</h4>
<pre>protected&nbsp;PTransform()</pre>
</li>
</ul>
<a name="PTransform-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PTransform</h4>
<pre>protected&nbsp;PTransform(@Nullable
                     java.lang.String&nbsp;name)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="expand-org.apache.beam.sdk.values.PInput-">
<!--   -->
</a><a name="expand-InputT-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expand</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="type parameter in PTransform">OutputT</a>&nbsp;expand(<a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="type parameter in PTransform">InputT</a>&nbsp;input)</pre>
<div class="block">Override this method to specify how this <code>PTransform</code> should be expanded on the given
 <code>InputT</code>.

 <p>NOTE: This method should not be called directly. Instead apply the <code>PTransform</code> should
 be applied to the <code>InputT</code> using the <code>apply</code> method.

 <p>Composite transforms, which are defined in terms of other transforms, should return the
 output of one of the composed transforms. Non-composite transforms, which do not apply any
 transforms internally, should return a new unbound output and register evaluators (via
 backend-specific registration methods).</div>
</li>
</ul>
<a name="validate-org.apache.beam.sdk.options.PipelineOptions-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre>public&nbsp;void&nbsp;validate(@Nullable
                     <a href="../../../../../org/apache/beam/sdk/options/PipelineOptions.html" title="interface in org.apache.beam.sdk.options">PipelineOptions</a>&nbsp;options)</pre>
<div class="block">Called before running the Pipeline to verify this transform is fully and correctly specified.

 <p>By default, does nothing.</div>
</li>
</ul>
<a name="getAdditionalInputs--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAdditionalInputs</h4>
<pre>public&nbsp;java.util.Map&lt;<a href="../../../../../org/apache/beam/sdk/values/TupleTag.html" title="class in org.apache.beam.sdk.values">TupleTag</a>&lt;?&gt;,<a href="../../../../../org/apache/beam/sdk/values/PValue.html" title="interface in org.apache.beam.sdk.values">PValue</a>&gt;&nbsp;getAdditionalInputs()</pre>
<div class="block">Returns all <a href="../../../../../org/apache/beam/sdk/values/PValue.html" title="interface in org.apache.beam.sdk.values"><code>PValues</code></a> that are consumed as inputs to this <a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms"><code>PTransform</code></a> that
 are independent of the expansion of the <code>InputT</code> within <a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html#expand-InputT-"><code>expand(PInput)</code></a>.

 <p>For example, this can contain any side input consumed by this <a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms"><code>PTransform</code></a>.</div>
</li>
</ul>
<a name="getName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
<div class="block">Returns the transform name.

 <p>This name is provided by the transform creator and is not required to be unique.</div>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a name="getKindString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKindString</h4>
<pre>protected&nbsp;java.lang.String&nbsp;getKindString()</pre>
<div class="block">Returns the name to use by default for this <code>PTransform</code> (not including the names of any
 enclosing <code>PTransform</code>s).

 <p>By default, returns the base name of this <code>PTransform</code>'s class.

 <p>The caller is responsible for ensuring that names of applied <code>PTransform</code>s are unique,
 e.g., by adding a uniquifying suffix when needed.</div>
</li>
</ul>
<a name="getDefaultOutputCoder--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultOutputCoder</h4>
<pre>@Deprecated
protected&nbsp;<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;?&gt;&nbsp;getDefaultOutputCoder()
                                              throws <a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.html" title="class in org.apache.beam.sdk.coders">CannotProvideCoderException</a></pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<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>
<div class="block">Returns the default <code>Coder</code> to use for the output of this single-output <code>PTransform</code>.

 <p>By default, always throws</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.html" title="class in org.apache.beam.sdk.coders">CannotProvideCoderException</a></code> - if no coder can be inferred</dd>
</dl>
</li>
</ul>
<a name="getDefaultOutputCoder-org.apache.beam.sdk.values.PInput-">
<!--   -->
</a><a name="getDefaultOutputCoder-InputT-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultOutputCoder</h4>
<pre>@Deprecated
protected&nbsp;<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;?&gt;&nbsp;getDefaultOutputCoder(<a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="type parameter in PTransform">InputT</a>&nbsp;input)
                                              throws <a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.html" title="class in org.apache.beam.sdk.coders">CannotProvideCoderException</a></pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<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>
<div class="block">Returns the default <code>Coder</code> to use for the output of this single-output <code>PTransform</code> when applied to the given input.

 <p>By default, always throws.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.html" title="class in org.apache.beam.sdk.coders">CannotProvideCoderException</a></code> - if none can be inferred.</dd>
</dl>
</li>
</ul>
<a name="getDefaultOutputCoder-org.apache.beam.sdk.values.PInput-org.apache.beam.sdk.values.PCollection-">
<!--   -->
</a><a name="getDefaultOutputCoder-InputT-org.apache.beam.sdk.values.PCollection-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultOutputCoder</h4>
<pre>@Deprecated
public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;T&gt;&nbsp;getDefaultOutputCoder(<a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="type parameter in PTransform">InputT</a>&nbsp;input,
                                                      <a href="../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;T&gt;&nbsp;output)
                                               throws <a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.html" title="class in org.apache.beam.sdk.coders">CannotProvideCoderException</a></pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<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>
<div class="block">Returns the default <code>Coder</code> to use for the given output of this single-output <code>PTransform</code> when applied to the given input.

 <p>By default, always throws.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.html" title="class in org.apache.beam.sdk.coders">CannotProvideCoderException</a></code> - if none can be inferred.</dd>
</dl>
</li>
</ul>
<a name="populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>populateDisplayData</h4>
<pre>public&nbsp;void&nbsp;populateDisplayData(<a href="../../../../../org/apache/beam/sdk/transforms/display/DisplayData.Builder.html" title="interface in org.apache.beam.sdk.transforms.display">DisplayData.Builder</a>&nbsp;builder)</pre>
<div class="block">Register display data for the given transform or component.

 <p><code>populateDisplayData(DisplayData.Builder)</code> is invoked by Pipeline runners to collect
 display data via <a href="../../../../../org/apache/beam/sdk/transforms/display/DisplayData.html#from-org.apache.beam.sdk.transforms.display.HasDisplayData-"><code>DisplayData.from(HasDisplayData)</code></a>. Implementations may call <code>super.populateDisplayData(builder)</code> in order to register display data in the current namespace,
 but should otherwise use <code>subcomponent.populateDisplayData(builder)</code> to use the namespace
 of the subcomponent.

 <p>By default, does not register any display data. Implementors may override this method to
 provide their own display data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">populateDisplayData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display">HasDisplayData</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>builder</code> - The builder to populate with display data.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display"><code>HasDisplayData</code></a></dd>
</dl>
</li>
</ul>
<a name="compose-org.apache.beam.sdk.transforms.SerializableFunction-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>compose</h4>
<pre><a href="../../../../../org/apache/beam/sdk/annotations/Experimental.html" title="annotation in org.apache.beam.sdk.annotations">@Experimental</a>
public static&nbsp;&lt;InputT extends <a href="../../../../../org/apache/beam/sdk/values/PInput.html" title="interface in org.apache.beam.sdk.values">PInput</a>,OutputT extends <a href="../../../../../org/apache/beam/sdk/values/POutput.html" title="interface in org.apache.beam.sdk.values">POutput</a>&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a>&lt;InputT,OutputT&gt;&nbsp;compose(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableFunction</a>&lt;InputT,OutputT&gt;&nbsp;fn)</pre>
<div class="block">For a <code>SerializableFunction&lt;InputT, OutputT&gt;</code> <code>fn</code>, returns a <code>PTransform</code>
 given by applying <code>fn.apply(v)</code> to the input <code>PCollection&lt;InputT&gt;</code>.

 <p>Allows users to define a concise composite transform using a Java 8 lambda expression. For
 example:

 <pre><code>
 PCollection&lt;String&gt; words = wordsAndErrors.apply(
   (PCollectionTuple input) -&gt; {
     input.get(errorsTag).apply(new WriteErrorOutput());
     return input.get(wordsTag);
   });
 </code></pre></div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= 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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></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><a href="../../../../../org/apache/beam/sdk/transforms/Partition.PartitionFn.html" title="interface in org.apache.beam.sdk.transforms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/transforms/Regex.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/transforms/PTransform.html" target="_top">Frames</a></li>
<li><a href="PTransform.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
