@java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10:
                {
                  pubsubTopic_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
              case 16:
                {
                  int tmpRaw = input.readEnum();
                  ensureEventTypesIsMutable();
                  eventTypes_.add(tmpRaw);
                  break;
                } // case 16
              case 18:
                {
                  int length = input.readRawVarint32();
                  int oldLimit = input.pushLimit(length);
                  while (input.getBytesUntilLimit() > 0) {
                    int tmpRaw = input.readEnum();
                    ensureEventTypesIsMutable();
                    eventTypes_.add(tmpRaw);
                  }
                  input.popLimit(oldLimit);
                  break;
                } // case 18
              case 24:
                {
                  payloadFormat_ = input.readEnum();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
              default:
                {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
<pre>
Specification to configure notifications published to Pub/Sub.
Notifications are published to the customer-provided topic using the
following `PubsubMessage.attributes`:

* `"eventType"`: one of the
[EventType][google.storagetransfer.v1.NotificationConfig.EventType] values
* `"payloadFormat"`: one of the
[PayloadFormat][google.storagetransfer.v1.NotificationConfig.PayloadFormat]
values
* `"projectId"`: the
[project_id][google.storagetransfer.v1.TransferOperation.project_id] of the
`TransferOperation`
* `"transferJobName"`: the
[transfer_job_name][google.storagetransfer.v1.TransferOperation.transfer_job_name]
of the `TransferOperation`
* `"transferOperationName"`: the
[name][google.storagetransfer.v1.TransferOperation.name] of the
`TransferOperation`

The `PubsubMessage.data` contains a
[TransferOperation][google.storagetransfer.v1.TransferOperation] resource
formatted according to the specified `PayloadFormat`.
</pre>

Protobuf type {@code google.storagetransfer.v1.NotificationConfig}
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java