@java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
        return true;
      }
      if (!(obj
          instanceof com.google.storagetransfer.v1.proto.TransferTypes.S3CompatibleMetadata)) {
        return super.equals(obj);
      }
      com.google.storagetransfer.v1.proto.TransferTypes.S3CompatibleMetadata other =
          (com.google.storagetransfer.v1.proto.TransferTypes.S3CompatibleMetadata) obj;

      if (authMethod_ != other.authMethod_) return false;
      if (requestModel_ != other.requestModel_) return false;
      if (protocol_ != other.protocol_) return false;
      if (listApi_ != other.listApi_) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }
<pre>
The Listing API to use for discovering objects. When not specified,
Transfer Service will attempt to determine the right API to use.
</pre>

<code>.google.storagetransfer.v1.S3CompatibleMetadata.ListApi list_api = 4;</code>

@return The listApi.
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java