• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/webrisk/v1/webrisk.proto
18 
19 package com.google.webrisk.v1;
20 
21 /** Protobuf type {@code google.cloud.webrisk.v1.SearchHashesResponse} */
22 public final class SearchHashesResponse extends com.google.protobuf.GeneratedMessageV3
23     implements
24     // @@protoc_insertion_point(message_implements:google.cloud.webrisk.v1.SearchHashesResponse)
25     SearchHashesResponseOrBuilder {
26   private static final long serialVersionUID = 0L;
27   // Use SearchHashesResponse.newBuilder() to construct.
SearchHashesResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)28   private SearchHashesResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
29     super(builder);
30   }
31 
SearchHashesResponse()32   private SearchHashesResponse() {
33     threats_ = java.util.Collections.emptyList();
34   }
35 
36   @java.lang.Override
37   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)38   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
39     return new SearchHashesResponse();
40   }
41 
42   @java.lang.Override
getUnknownFields()43   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
44     return this.unknownFields;
45   }
46 
getDescriptor()47   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
48     return com.google.webrisk.v1.WebRiskProto
49         .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_descriptor;
50   }
51 
52   @java.lang.Override
53   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()54       internalGetFieldAccessorTable() {
55     return com.google.webrisk.v1.WebRiskProto
56         .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_fieldAccessorTable
57         .ensureFieldAccessorsInitialized(
58             com.google.webrisk.v1.SearchHashesResponse.class,
59             com.google.webrisk.v1.SearchHashesResponse.Builder.class);
60   }
61 
62   public interface ThreatHashOrBuilder
63       extends
64       // @@protoc_insertion_point(interface_extends:google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash)
65       com.google.protobuf.MessageOrBuilder {
66 
67     /**
68      *
69      *
70      * <pre>
71      * The ThreatList this threat belongs to.
72      * This must contain at least one entry.
73      * </pre>
74      *
75      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
76      *
77      * @return A list containing the threatTypes.
78      */
getThreatTypesList()79     java.util.List<com.google.webrisk.v1.ThreatType> getThreatTypesList();
80     /**
81      *
82      *
83      * <pre>
84      * The ThreatList this threat belongs to.
85      * This must contain at least one entry.
86      * </pre>
87      *
88      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
89      *
90      * @return The count of threatTypes.
91      */
getThreatTypesCount()92     int getThreatTypesCount();
93     /**
94      *
95      *
96      * <pre>
97      * The ThreatList this threat belongs to.
98      * This must contain at least one entry.
99      * </pre>
100      *
101      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
102      *
103      * @param index The index of the element to return.
104      * @return The threatTypes at the given index.
105      */
getThreatTypes(int index)106     com.google.webrisk.v1.ThreatType getThreatTypes(int index);
107     /**
108      *
109      *
110      * <pre>
111      * The ThreatList this threat belongs to.
112      * This must contain at least one entry.
113      * </pre>
114      *
115      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
116      *
117      * @return A list containing the enum numeric values on the wire for threatTypes.
118      */
getThreatTypesValueList()119     java.util.List<java.lang.Integer> getThreatTypesValueList();
120     /**
121      *
122      *
123      * <pre>
124      * The ThreatList this threat belongs to.
125      * This must contain at least one entry.
126      * </pre>
127      *
128      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
129      *
130      * @param index The index of the value to return.
131      * @return The enum numeric value on the wire of threatTypes at the given index.
132      */
getThreatTypesValue(int index)133     int getThreatTypesValue(int index);
134 
135     /**
136      *
137      *
138      * <pre>
139      * A 32 byte SHA256 hash. This field is in binary format. For JSON
140      * requests, hashes are base64-encoded.
141      * </pre>
142      *
143      * <code>bytes hash = 2;</code>
144      *
145      * @return The hash.
146      */
getHash()147     com.google.protobuf.ByteString getHash();
148 
149     /**
150      *
151      *
152      * <pre>
153      * The cache lifetime for the returned match. Clients must not cache this
154      * response past this timestamp to avoid false positives.
155      * </pre>
156      *
157      * <code>.google.protobuf.Timestamp expire_time = 3;</code>
158      *
159      * @return Whether the expireTime field is set.
160      */
hasExpireTime()161     boolean hasExpireTime();
162     /**
163      *
164      *
165      * <pre>
166      * The cache lifetime for the returned match. Clients must not cache this
167      * response past this timestamp to avoid false positives.
168      * </pre>
169      *
170      * <code>.google.protobuf.Timestamp expire_time = 3;</code>
171      *
172      * @return The expireTime.
173      */
getExpireTime()174     com.google.protobuf.Timestamp getExpireTime();
175     /**
176      *
177      *
178      * <pre>
179      * The cache lifetime for the returned match. Clients must not cache this
180      * response past this timestamp to avoid false positives.
181      * </pre>
182      *
183      * <code>.google.protobuf.Timestamp expire_time = 3;</code>
184      */
getExpireTimeOrBuilder()185     com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder();
186   }
187   /**
188    *
189    *
190    * <pre>
191    * Contains threat information on a matching hash.
192    * </pre>
193    *
194    * Protobuf type {@code google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash}
195    */
196   public static final class ThreatHash extends com.google.protobuf.GeneratedMessageV3
197       implements
198       // @@protoc_insertion_point(message_implements:google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash)
199       ThreatHashOrBuilder {
200     private static final long serialVersionUID = 0L;
201     // Use ThreatHash.newBuilder() to construct.
ThreatHash(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)202     private ThreatHash(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
203       super(builder);
204     }
205 
ThreatHash()206     private ThreatHash() {
207       threatTypes_ = java.util.Collections.emptyList();
208       hash_ = com.google.protobuf.ByteString.EMPTY;
209     }
210 
211     @java.lang.Override
212     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)213     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
214       return new ThreatHash();
215     }
216 
217     @java.lang.Override
getUnknownFields()218     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
219       return this.unknownFields;
220     }
221 
getDescriptor()222     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
223       return com.google.webrisk.v1.WebRiskProto
224           .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_ThreatHash_descriptor;
225     }
226 
227     @java.lang.Override
228     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()229         internalGetFieldAccessorTable() {
230       return com.google.webrisk.v1.WebRiskProto
231           .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_ThreatHash_fieldAccessorTable
232           .ensureFieldAccessorsInitialized(
233               com.google.webrisk.v1.SearchHashesResponse.ThreatHash.class,
234               com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder.class);
235     }
236 
237     public static final int THREAT_TYPES_FIELD_NUMBER = 1;
238 
239     @SuppressWarnings("serial")
240     private java.util.List<java.lang.Integer> threatTypes_;
241 
242     private static final com.google.protobuf.Internal.ListAdapter.Converter<
243             java.lang.Integer, com.google.webrisk.v1.ThreatType>
244         threatTypes_converter_ =
245             new com.google.protobuf.Internal.ListAdapter.Converter<
246                 java.lang.Integer, com.google.webrisk.v1.ThreatType>() {
247               public com.google.webrisk.v1.ThreatType convert(java.lang.Integer from) {
248                 com.google.webrisk.v1.ThreatType result =
249                     com.google.webrisk.v1.ThreatType.forNumber(from);
250                 return result == null ? com.google.webrisk.v1.ThreatType.UNRECOGNIZED : result;
251               }
252             };
253     /**
254      *
255      *
256      * <pre>
257      * The ThreatList this threat belongs to.
258      * This must contain at least one entry.
259      * </pre>
260      *
261      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
262      *
263      * @return A list containing the threatTypes.
264      */
265     @java.lang.Override
getThreatTypesList()266     public java.util.List<com.google.webrisk.v1.ThreatType> getThreatTypesList() {
267       return new com.google.protobuf.Internal.ListAdapter<
268           java.lang.Integer, com.google.webrisk.v1.ThreatType>(
269           threatTypes_, threatTypes_converter_);
270     }
271     /**
272      *
273      *
274      * <pre>
275      * The ThreatList this threat belongs to.
276      * This must contain at least one entry.
277      * </pre>
278      *
279      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
280      *
281      * @return The count of threatTypes.
282      */
283     @java.lang.Override
getThreatTypesCount()284     public int getThreatTypesCount() {
285       return threatTypes_.size();
286     }
287     /**
288      *
289      *
290      * <pre>
291      * The ThreatList this threat belongs to.
292      * This must contain at least one entry.
293      * </pre>
294      *
295      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
296      *
297      * @param index The index of the element to return.
298      * @return The threatTypes at the given index.
299      */
300     @java.lang.Override
getThreatTypes(int index)301     public com.google.webrisk.v1.ThreatType getThreatTypes(int index) {
302       return threatTypes_converter_.convert(threatTypes_.get(index));
303     }
304     /**
305      *
306      *
307      * <pre>
308      * The ThreatList this threat belongs to.
309      * This must contain at least one entry.
310      * </pre>
311      *
312      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
313      *
314      * @return A list containing the enum numeric values on the wire for threatTypes.
315      */
316     @java.lang.Override
getThreatTypesValueList()317     public java.util.List<java.lang.Integer> getThreatTypesValueList() {
318       return threatTypes_;
319     }
320     /**
321      *
322      *
323      * <pre>
324      * The ThreatList this threat belongs to.
325      * This must contain at least one entry.
326      * </pre>
327      *
328      * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
329      *
330      * @param index The index of the value to return.
331      * @return The enum numeric value on the wire of threatTypes at the given index.
332      */
333     @java.lang.Override
getThreatTypesValue(int index)334     public int getThreatTypesValue(int index) {
335       return threatTypes_.get(index);
336     }
337 
338     private int threatTypesMemoizedSerializedSize;
339 
340     public static final int HASH_FIELD_NUMBER = 2;
341     private com.google.protobuf.ByteString hash_ = com.google.protobuf.ByteString.EMPTY;
342     /**
343      *
344      *
345      * <pre>
346      * A 32 byte SHA256 hash. This field is in binary format. For JSON
347      * requests, hashes are base64-encoded.
348      * </pre>
349      *
350      * <code>bytes hash = 2;</code>
351      *
352      * @return The hash.
353      */
354     @java.lang.Override
getHash()355     public com.google.protobuf.ByteString getHash() {
356       return hash_;
357     }
358 
359     public static final int EXPIRE_TIME_FIELD_NUMBER = 3;
360     private com.google.protobuf.Timestamp expireTime_;
361     /**
362      *
363      *
364      * <pre>
365      * The cache lifetime for the returned match. Clients must not cache this
366      * response past this timestamp to avoid false positives.
367      * </pre>
368      *
369      * <code>.google.protobuf.Timestamp expire_time = 3;</code>
370      *
371      * @return Whether the expireTime field is set.
372      */
373     @java.lang.Override
hasExpireTime()374     public boolean hasExpireTime() {
375       return expireTime_ != null;
376     }
377     /**
378      *
379      *
380      * <pre>
381      * The cache lifetime for the returned match. Clients must not cache this
382      * response past this timestamp to avoid false positives.
383      * </pre>
384      *
385      * <code>.google.protobuf.Timestamp expire_time = 3;</code>
386      *
387      * @return The expireTime.
388      */
389     @java.lang.Override
getExpireTime()390     public com.google.protobuf.Timestamp getExpireTime() {
391       return expireTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : expireTime_;
392     }
393     /**
394      *
395      *
396      * <pre>
397      * The cache lifetime for the returned match. Clients must not cache this
398      * response past this timestamp to avoid false positives.
399      * </pre>
400      *
401      * <code>.google.protobuf.Timestamp expire_time = 3;</code>
402      */
403     @java.lang.Override
getExpireTimeOrBuilder()404     public com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder() {
405       return expireTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : expireTime_;
406     }
407 
408     private byte memoizedIsInitialized = -1;
409 
410     @java.lang.Override
isInitialized()411     public final boolean isInitialized() {
412       byte isInitialized = memoizedIsInitialized;
413       if (isInitialized == 1) return true;
414       if (isInitialized == 0) return false;
415 
416       memoizedIsInitialized = 1;
417       return true;
418     }
419 
420     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)421     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
422       getSerializedSize();
423       if (getThreatTypesList().size() > 0) {
424         output.writeUInt32NoTag(10);
425         output.writeUInt32NoTag(threatTypesMemoizedSerializedSize);
426       }
427       for (int i = 0; i < threatTypes_.size(); i++) {
428         output.writeEnumNoTag(threatTypes_.get(i));
429       }
430       if (!hash_.isEmpty()) {
431         output.writeBytes(2, hash_);
432       }
433       if (expireTime_ != null) {
434         output.writeMessage(3, getExpireTime());
435       }
436       getUnknownFields().writeTo(output);
437     }
438 
439     @java.lang.Override
getSerializedSize()440     public int getSerializedSize() {
441       int size = memoizedSize;
442       if (size != -1) return size;
443 
444       size = 0;
445       {
446         int dataSize = 0;
447         for (int i = 0; i < threatTypes_.size(); i++) {
448           dataSize +=
449               com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(threatTypes_.get(i));
450         }
451         size += dataSize;
452         if (!getThreatTypesList().isEmpty()) {
453           size += 1;
454           size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
455         }
456         threatTypesMemoizedSerializedSize = dataSize;
457       }
458       if (!hash_.isEmpty()) {
459         size += com.google.protobuf.CodedOutputStream.computeBytesSize(2, hash_);
460       }
461       if (expireTime_ != null) {
462         size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getExpireTime());
463       }
464       size += getUnknownFields().getSerializedSize();
465       memoizedSize = size;
466       return size;
467     }
468 
469     @java.lang.Override
equals(final java.lang.Object obj)470     public boolean equals(final java.lang.Object obj) {
471       if (obj == this) {
472         return true;
473       }
474       if (!(obj instanceof com.google.webrisk.v1.SearchHashesResponse.ThreatHash)) {
475         return super.equals(obj);
476       }
477       com.google.webrisk.v1.SearchHashesResponse.ThreatHash other =
478           (com.google.webrisk.v1.SearchHashesResponse.ThreatHash) obj;
479 
480       if (!threatTypes_.equals(other.threatTypes_)) return false;
481       if (!getHash().equals(other.getHash())) return false;
482       if (hasExpireTime() != other.hasExpireTime()) return false;
483       if (hasExpireTime()) {
484         if (!getExpireTime().equals(other.getExpireTime())) return false;
485       }
486       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
487       return true;
488     }
489 
490     @java.lang.Override
hashCode()491     public int hashCode() {
492       if (memoizedHashCode != 0) {
493         return memoizedHashCode;
494       }
495       int hash = 41;
496       hash = (19 * hash) + getDescriptor().hashCode();
497       if (getThreatTypesCount() > 0) {
498         hash = (37 * hash) + THREAT_TYPES_FIELD_NUMBER;
499         hash = (53 * hash) + threatTypes_.hashCode();
500       }
501       hash = (37 * hash) + HASH_FIELD_NUMBER;
502       hash = (53 * hash) + getHash().hashCode();
503       if (hasExpireTime()) {
504         hash = (37 * hash) + EXPIRE_TIME_FIELD_NUMBER;
505         hash = (53 * hash) + getExpireTime().hashCode();
506       }
507       hash = (29 * hash) + getUnknownFields().hashCode();
508       memoizedHashCode = hash;
509       return hash;
510     }
511 
parseFrom( java.nio.ByteBuffer data)512     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(
513         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
514       return PARSER.parseFrom(data);
515     }
516 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)517     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(
518         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
519         throws com.google.protobuf.InvalidProtocolBufferException {
520       return PARSER.parseFrom(data, extensionRegistry);
521     }
522 
parseFrom( com.google.protobuf.ByteString data)523     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(
524         com.google.protobuf.ByteString data)
525         throws com.google.protobuf.InvalidProtocolBufferException {
526       return PARSER.parseFrom(data);
527     }
528 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)529     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(
530         com.google.protobuf.ByteString data,
531         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
532         throws com.google.protobuf.InvalidProtocolBufferException {
533       return PARSER.parseFrom(data, extensionRegistry);
534     }
535 
parseFrom(byte[] data)536     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(byte[] data)
537         throws com.google.protobuf.InvalidProtocolBufferException {
538       return PARSER.parseFrom(data);
539     }
540 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)541     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(
542         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
543         throws com.google.protobuf.InvalidProtocolBufferException {
544       return PARSER.parseFrom(data, extensionRegistry);
545     }
546 
parseFrom( java.io.InputStream input)547     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(
548         java.io.InputStream input) throws java.io.IOException {
549       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
550     }
551 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)552     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(
553         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
554         throws java.io.IOException {
555       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
556           PARSER, input, extensionRegistry);
557     }
558 
parseDelimitedFrom( java.io.InputStream input)559     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseDelimitedFrom(
560         java.io.InputStream input) throws java.io.IOException {
561       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
562     }
563 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)564     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseDelimitedFrom(
565         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
566         throws java.io.IOException {
567       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
568           PARSER, input, extensionRegistry);
569     }
570 
parseFrom( com.google.protobuf.CodedInputStream input)571     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(
572         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
573       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
574     }
575 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)576     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash parseFrom(
577         com.google.protobuf.CodedInputStream input,
578         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
579         throws java.io.IOException {
580       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
581           PARSER, input, extensionRegistry);
582     }
583 
584     @java.lang.Override
newBuilderForType()585     public Builder newBuilderForType() {
586       return newBuilder();
587     }
588 
newBuilder()589     public static Builder newBuilder() {
590       return DEFAULT_INSTANCE.toBuilder();
591     }
592 
newBuilder( com.google.webrisk.v1.SearchHashesResponse.ThreatHash prototype)593     public static Builder newBuilder(
594         com.google.webrisk.v1.SearchHashesResponse.ThreatHash prototype) {
595       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
596     }
597 
598     @java.lang.Override
toBuilder()599     public Builder toBuilder() {
600       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
601     }
602 
603     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)604     protected Builder newBuilderForType(
605         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
606       Builder builder = new Builder(parent);
607       return builder;
608     }
609     /**
610      *
611      *
612      * <pre>
613      * Contains threat information on a matching hash.
614      * </pre>
615      *
616      * Protobuf type {@code google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash}
617      */
618     public static final class Builder
619         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
620         implements
621         // @@protoc_insertion_point(builder_implements:google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash)
622         com.google.webrisk.v1.SearchHashesResponse.ThreatHashOrBuilder {
getDescriptor()623       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
624         return com.google.webrisk.v1.WebRiskProto
625             .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_ThreatHash_descriptor;
626       }
627 
628       @java.lang.Override
629       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()630           internalGetFieldAccessorTable() {
631         return com.google.webrisk.v1.WebRiskProto
632             .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_ThreatHash_fieldAccessorTable
633             .ensureFieldAccessorsInitialized(
634                 com.google.webrisk.v1.SearchHashesResponse.ThreatHash.class,
635                 com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder.class);
636       }
637 
638       // Construct using com.google.webrisk.v1.SearchHashesResponse.ThreatHash.newBuilder()
Builder()639       private Builder() {}
640 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)641       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
642         super(parent);
643       }
644 
645       @java.lang.Override
clear()646       public Builder clear() {
647         super.clear();
648         bitField0_ = 0;
649         threatTypes_ = java.util.Collections.emptyList();
650         bitField0_ = (bitField0_ & ~0x00000001);
651         hash_ = com.google.protobuf.ByteString.EMPTY;
652         expireTime_ = null;
653         if (expireTimeBuilder_ != null) {
654           expireTimeBuilder_.dispose();
655           expireTimeBuilder_ = null;
656         }
657         return this;
658       }
659 
660       @java.lang.Override
getDescriptorForType()661       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
662         return com.google.webrisk.v1.WebRiskProto
663             .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_ThreatHash_descriptor;
664       }
665 
666       @java.lang.Override
getDefaultInstanceForType()667       public com.google.webrisk.v1.SearchHashesResponse.ThreatHash getDefaultInstanceForType() {
668         return com.google.webrisk.v1.SearchHashesResponse.ThreatHash.getDefaultInstance();
669       }
670 
671       @java.lang.Override
build()672       public com.google.webrisk.v1.SearchHashesResponse.ThreatHash build() {
673         com.google.webrisk.v1.SearchHashesResponse.ThreatHash result = buildPartial();
674         if (!result.isInitialized()) {
675           throw newUninitializedMessageException(result);
676         }
677         return result;
678       }
679 
680       @java.lang.Override
buildPartial()681       public com.google.webrisk.v1.SearchHashesResponse.ThreatHash buildPartial() {
682         com.google.webrisk.v1.SearchHashesResponse.ThreatHash result =
683             new com.google.webrisk.v1.SearchHashesResponse.ThreatHash(this);
684         buildPartialRepeatedFields(result);
685         if (bitField0_ != 0) {
686           buildPartial0(result);
687         }
688         onBuilt();
689         return result;
690       }
691 
buildPartialRepeatedFields( com.google.webrisk.v1.SearchHashesResponse.ThreatHash result)692       private void buildPartialRepeatedFields(
693           com.google.webrisk.v1.SearchHashesResponse.ThreatHash result) {
694         if (((bitField0_ & 0x00000001) != 0)) {
695           threatTypes_ = java.util.Collections.unmodifiableList(threatTypes_);
696           bitField0_ = (bitField0_ & ~0x00000001);
697         }
698         result.threatTypes_ = threatTypes_;
699       }
700 
buildPartial0(com.google.webrisk.v1.SearchHashesResponse.ThreatHash result)701       private void buildPartial0(com.google.webrisk.v1.SearchHashesResponse.ThreatHash result) {
702         int from_bitField0_ = bitField0_;
703         if (((from_bitField0_ & 0x00000002) != 0)) {
704           result.hash_ = hash_;
705         }
706         if (((from_bitField0_ & 0x00000004) != 0)) {
707           result.expireTime_ =
708               expireTimeBuilder_ == null ? expireTime_ : expireTimeBuilder_.build();
709         }
710       }
711 
712       @java.lang.Override
clone()713       public Builder clone() {
714         return super.clone();
715       }
716 
717       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)718       public Builder setField(
719           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
720         return super.setField(field, value);
721       }
722 
723       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)724       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
725         return super.clearField(field);
726       }
727 
728       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)729       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
730         return super.clearOneof(oneof);
731       }
732 
733       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)734       public Builder setRepeatedField(
735           com.google.protobuf.Descriptors.FieldDescriptor field,
736           int index,
737           java.lang.Object value) {
738         return super.setRepeatedField(field, index, value);
739       }
740 
741       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)742       public Builder addRepeatedField(
743           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
744         return super.addRepeatedField(field, value);
745       }
746 
747       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)748       public Builder mergeFrom(com.google.protobuf.Message other) {
749         if (other instanceof com.google.webrisk.v1.SearchHashesResponse.ThreatHash) {
750           return mergeFrom((com.google.webrisk.v1.SearchHashesResponse.ThreatHash) other);
751         } else {
752           super.mergeFrom(other);
753           return this;
754         }
755       }
756 
mergeFrom(com.google.webrisk.v1.SearchHashesResponse.ThreatHash other)757       public Builder mergeFrom(com.google.webrisk.v1.SearchHashesResponse.ThreatHash other) {
758         if (other == com.google.webrisk.v1.SearchHashesResponse.ThreatHash.getDefaultInstance())
759           return this;
760         if (!other.threatTypes_.isEmpty()) {
761           if (threatTypes_.isEmpty()) {
762             threatTypes_ = other.threatTypes_;
763             bitField0_ = (bitField0_ & ~0x00000001);
764           } else {
765             ensureThreatTypesIsMutable();
766             threatTypes_.addAll(other.threatTypes_);
767           }
768           onChanged();
769         }
770         if (other.getHash() != com.google.protobuf.ByteString.EMPTY) {
771           setHash(other.getHash());
772         }
773         if (other.hasExpireTime()) {
774           mergeExpireTime(other.getExpireTime());
775         }
776         this.mergeUnknownFields(other.getUnknownFields());
777         onChanged();
778         return this;
779       }
780 
781       @java.lang.Override
isInitialized()782       public final boolean isInitialized() {
783         return true;
784       }
785 
786       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)787       public Builder mergeFrom(
788           com.google.protobuf.CodedInputStream input,
789           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
790           throws java.io.IOException {
791         if (extensionRegistry == null) {
792           throw new java.lang.NullPointerException();
793         }
794         try {
795           boolean done = false;
796           while (!done) {
797             int tag = input.readTag();
798             switch (tag) {
799               case 0:
800                 done = true;
801                 break;
802               case 8:
803                 {
804                   int tmpRaw = input.readEnum();
805                   ensureThreatTypesIsMutable();
806                   threatTypes_.add(tmpRaw);
807                   break;
808                 } // case 8
809               case 10:
810                 {
811                   int length = input.readRawVarint32();
812                   int oldLimit = input.pushLimit(length);
813                   while (input.getBytesUntilLimit() > 0) {
814                     int tmpRaw = input.readEnum();
815                     ensureThreatTypesIsMutable();
816                     threatTypes_.add(tmpRaw);
817                   }
818                   input.popLimit(oldLimit);
819                   break;
820                 } // case 10
821               case 18:
822                 {
823                   hash_ = input.readBytes();
824                   bitField0_ |= 0x00000002;
825                   break;
826                 } // case 18
827               case 26:
828                 {
829                   input.readMessage(getExpireTimeFieldBuilder().getBuilder(), extensionRegistry);
830                   bitField0_ |= 0x00000004;
831                   break;
832                 } // case 26
833               default:
834                 {
835                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
836                     done = true; // was an endgroup tag
837                   }
838                   break;
839                 } // default:
840             } // switch (tag)
841           } // while (!done)
842         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
843           throw e.unwrapIOException();
844         } finally {
845           onChanged();
846         } // finally
847         return this;
848       }
849 
850       private int bitField0_;
851 
852       private java.util.List<java.lang.Integer> threatTypes_ = java.util.Collections.emptyList();
853 
ensureThreatTypesIsMutable()854       private void ensureThreatTypesIsMutable() {
855         if (!((bitField0_ & 0x00000001) != 0)) {
856           threatTypes_ = new java.util.ArrayList<java.lang.Integer>(threatTypes_);
857           bitField0_ |= 0x00000001;
858         }
859       }
860       /**
861        *
862        *
863        * <pre>
864        * The ThreatList this threat belongs to.
865        * This must contain at least one entry.
866        * </pre>
867        *
868        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
869        *
870        * @return A list containing the threatTypes.
871        */
getThreatTypesList()872       public java.util.List<com.google.webrisk.v1.ThreatType> getThreatTypesList() {
873         return new com.google.protobuf.Internal.ListAdapter<
874             java.lang.Integer, com.google.webrisk.v1.ThreatType>(
875             threatTypes_, threatTypes_converter_);
876       }
877       /**
878        *
879        *
880        * <pre>
881        * The ThreatList this threat belongs to.
882        * This must contain at least one entry.
883        * </pre>
884        *
885        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
886        *
887        * @return The count of threatTypes.
888        */
getThreatTypesCount()889       public int getThreatTypesCount() {
890         return threatTypes_.size();
891       }
892       /**
893        *
894        *
895        * <pre>
896        * The ThreatList this threat belongs to.
897        * This must contain at least one entry.
898        * </pre>
899        *
900        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
901        *
902        * @param index The index of the element to return.
903        * @return The threatTypes at the given index.
904        */
getThreatTypes(int index)905       public com.google.webrisk.v1.ThreatType getThreatTypes(int index) {
906         return threatTypes_converter_.convert(threatTypes_.get(index));
907       }
908       /**
909        *
910        *
911        * <pre>
912        * The ThreatList this threat belongs to.
913        * This must contain at least one entry.
914        * </pre>
915        *
916        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
917        *
918        * @param index The index to set the value at.
919        * @param value The threatTypes to set.
920        * @return This builder for chaining.
921        */
setThreatTypes(int index, com.google.webrisk.v1.ThreatType value)922       public Builder setThreatTypes(int index, com.google.webrisk.v1.ThreatType value) {
923         if (value == null) {
924           throw new NullPointerException();
925         }
926         ensureThreatTypesIsMutable();
927         threatTypes_.set(index, value.getNumber());
928         onChanged();
929         return this;
930       }
931       /**
932        *
933        *
934        * <pre>
935        * The ThreatList this threat belongs to.
936        * This must contain at least one entry.
937        * </pre>
938        *
939        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
940        *
941        * @param value The threatTypes to add.
942        * @return This builder for chaining.
943        */
addThreatTypes(com.google.webrisk.v1.ThreatType value)944       public Builder addThreatTypes(com.google.webrisk.v1.ThreatType value) {
945         if (value == null) {
946           throw new NullPointerException();
947         }
948         ensureThreatTypesIsMutable();
949         threatTypes_.add(value.getNumber());
950         onChanged();
951         return this;
952       }
953       /**
954        *
955        *
956        * <pre>
957        * The ThreatList this threat belongs to.
958        * This must contain at least one entry.
959        * </pre>
960        *
961        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
962        *
963        * @param values The threatTypes to add.
964        * @return This builder for chaining.
965        */
addAllThreatTypes( java.lang.Iterable<? extends com.google.webrisk.v1.ThreatType> values)966       public Builder addAllThreatTypes(
967           java.lang.Iterable<? extends com.google.webrisk.v1.ThreatType> values) {
968         ensureThreatTypesIsMutable();
969         for (com.google.webrisk.v1.ThreatType value : values) {
970           threatTypes_.add(value.getNumber());
971         }
972         onChanged();
973         return this;
974       }
975       /**
976        *
977        *
978        * <pre>
979        * The ThreatList this threat belongs to.
980        * This must contain at least one entry.
981        * </pre>
982        *
983        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
984        *
985        * @return This builder for chaining.
986        */
clearThreatTypes()987       public Builder clearThreatTypes() {
988         threatTypes_ = java.util.Collections.emptyList();
989         bitField0_ = (bitField0_ & ~0x00000001);
990         onChanged();
991         return this;
992       }
993       /**
994        *
995        *
996        * <pre>
997        * The ThreatList this threat belongs to.
998        * This must contain at least one entry.
999        * </pre>
1000        *
1001        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
1002        *
1003        * @return A list containing the enum numeric values on the wire for threatTypes.
1004        */
getThreatTypesValueList()1005       public java.util.List<java.lang.Integer> getThreatTypesValueList() {
1006         return java.util.Collections.unmodifiableList(threatTypes_);
1007       }
1008       /**
1009        *
1010        *
1011        * <pre>
1012        * The ThreatList this threat belongs to.
1013        * This must contain at least one entry.
1014        * </pre>
1015        *
1016        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
1017        *
1018        * @param index The index of the value to return.
1019        * @return The enum numeric value on the wire of threatTypes at the given index.
1020        */
getThreatTypesValue(int index)1021       public int getThreatTypesValue(int index) {
1022         return threatTypes_.get(index);
1023       }
1024       /**
1025        *
1026        *
1027        * <pre>
1028        * The ThreatList this threat belongs to.
1029        * This must contain at least one entry.
1030        * </pre>
1031        *
1032        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
1033        *
1034        * @param index The index to set the value at.
1035        * @param value The enum numeric value on the wire for threatTypes to set.
1036        * @return This builder for chaining.
1037        */
setThreatTypesValue(int index, int value)1038       public Builder setThreatTypesValue(int index, int value) {
1039         ensureThreatTypesIsMutable();
1040         threatTypes_.set(index, value);
1041         onChanged();
1042         return this;
1043       }
1044       /**
1045        *
1046        *
1047        * <pre>
1048        * The ThreatList this threat belongs to.
1049        * This must contain at least one entry.
1050        * </pre>
1051        *
1052        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
1053        *
1054        * @param value The enum numeric value on the wire for threatTypes to add.
1055        * @return This builder for chaining.
1056        */
addThreatTypesValue(int value)1057       public Builder addThreatTypesValue(int value) {
1058         ensureThreatTypesIsMutable();
1059         threatTypes_.add(value);
1060         onChanged();
1061         return this;
1062       }
1063       /**
1064        *
1065        *
1066        * <pre>
1067        * The ThreatList this threat belongs to.
1068        * This must contain at least one entry.
1069        * </pre>
1070        *
1071        * <code>repeated .google.cloud.webrisk.v1.ThreatType threat_types = 1;</code>
1072        *
1073        * @param values The enum numeric values on the wire for threatTypes to add.
1074        * @return This builder for chaining.
1075        */
addAllThreatTypesValue(java.lang.Iterable<java.lang.Integer> values)1076       public Builder addAllThreatTypesValue(java.lang.Iterable<java.lang.Integer> values) {
1077         ensureThreatTypesIsMutable();
1078         for (int value : values) {
1079           threatTypes_.add(value);
1080         }
1081         onChanged();
1082         return this;
1083       }
1084 
1085       private com.google.protobuf.ByteString hash_ = com.google.protobuf.ByteString.EMPTY;
1086       /**
1087        *
1088        *
1089        * <pre>
1090        * A 32 byte SHA256 hash. This field is in binary format. For JSON
1091        * requests, hashes are base64-encoded.
1092        * </pre>
1093        *
1094        * <code>bytes hash = 2;</code>
1095        *
1096        * @return The hash.
1097        */
1098       @java.lang.Override
getHash()1099       public com.google.protobuf.ByteString getHash() {
1100         return hash_;
1101       }
1102       /**
1103        *
1104        *
1105        * <pre>
1106        * A 32 byte SHA256 hash. This field is in binary format. For JSON
1107        * requests, hashes are base64-encoded.
1108        * </pre>
1109        *
1110        * <code>bytes hash = 2;</code>
1111        *
1112        * @param value The hash to set.
1113        * @return This builder for chaining.
1114        */
setHash(com.google.protobuf.ByteString value)1115       public Builder setHash(com.google.protobuf.ByteString value) {
1116         if (value == null) {
1117           throw new NullPointerException();
1118         }
1119         hash_ = value;
1120         bitField0_ |= 0x00000002;
1121         onChanged();
1122         return this;
1123       }
1124       /**
1125        *
1126        *
1127        * <pre>
1128        * A 32 byte SHA256 hash. This field is in binary format. For JSON
1129        * requests, hashes are base64-encoded.
1130        * </pre>
1131        *
1132        * <code>bytes hash = 2;</code>
1133        *
1134        * @return This builder for chaining.
1135        */
clearHash()1136       public Builder clearHash() {
1137         bitField0_ = (bitField0_ & ~0x00000002);
1138         hash_ = getDefaultInstance().getHash();
1139         onChanged();
1140         return this;
1141       }
1142 
1143       private com.google.protobuf.Timestamp expireTime_;
1144       private com.google.protobuf.SingleFieldBuilderV3<
1145               com.google.protobuf.Timestamp,
1146               com.google.protobuf.Timestamp.Builder,
1147               com.google.protobuf.TimestampOrBuilder>
1148           expireTimeBuilder_;
1149       /**
1150        *
1151        *
1152        * <pre>
1153        * The cache lifetime for the returned match. Clients must not cache this
1154        * response past this timestamp to avoid false positives.
1155        * </pre>
1156        *
1157        * <code>.google.protobuf.Timestamp expire_time = 3;</code>
1158        *
1159        * @return Whether the expireTime field is set.
1160        */
hasExpireTime()1161       public boolean hasExpireTime() {
1162         return ((bitField0_ & 0x00000004) != 0);
1163       }
1164       /**
1165        *
1166        *
1167        * <pre>
1168        * The cache lifetime for the returned match. Clients must not cache this
1169        * response past this timestamp to avoid false positives.
1170        * </pre>
1171        *
1172        * <code>.google.protobuf.Timestamp expire_time = 3;</code>
1173        *
1174        * @return The expireTime.
1175        */
getExpireTime()1176       public com.google.protobuf.Timestamp getExpireTime() {
1177         if (expireTimeBuilder_ == null) {
1178           return expireTime_ == null
1179               ? com.google.protobuf.Timestamp.getDefaultInstance()
1180               : expireTime_;
1181         } else {
1182           return expireTimeBuilder_.getMessage();
1183         }
1184       }
1185       /**
1186        *
1187        *
1188        * <pre>
1189        * The cache lifetime for the returned match. Clients must not cache this
1190        * response past this timestamp to avoid false positives.
1191        * </pre>
1192        *
1193        * <code>.google.protobuf.Timestamp expire_time = 3;</code>
1194        */
setExpireTime(com.google.protobuf.Timestamp value)1195       public Builder setExpireTime(com.google.protobuf.Timestamp value) {
1196         if (expireTimeBuilder_ == null) {
1197           if (value == null) {
1198             throw new NullPointerException();
1199           }
1200           expireTime_ = value;
1201         } else {
1202           expireTimeBuilder_.setMessage(value);
1203         }
1204         bitField0_ |= 0x00000004;
1205         onChanged();
1206         return this;
1207       }
1208       /**
1209        *
1210        *
1211        * <pre>
1212        * The cache lifetime for the returned match. Clients must not cache this
1213        * response past this timestamp to avoid false positives.
1214        * </pre>
1215        *
1216        * <code>.google.protobuf.Timestamp expire_time = 3;</code>
1217        */
setExpireTime(com.google.protobuf.Timestamp.Builder builderForValue)1218       public Builder setExpireTime(com.google.protobuf.Timestamp.Builder builderForValue) {
1219         if (expireTimeBuilder_ == null) {
1220           expireTime_ = builderForValue.build();
1221         } else {
1222           expireTimeBuilder_.setMessage(builderForValue.build());
1223         }
1224         bitField0_ |= 0x00000004;
1225         onChanged();
1226         return this;
1227       }
1228       /**
1229        *
1230        *
1231        * <pre>
1232        * The cache lifetime for the returned match. Clients must not cache this
1233        * response past this timestamp to avoid false positives.
1234        * </pre>
1235        *
1236        * <code>.google.protobuf.Timestamp expire_time = 3;</code>
1237        */
mergeExpireTime(com.google.protobuf.Timestamp value)1238       public Builder mergeExpireTime(com.google.protobuf.Timestamp value) {
1239         if (expireTimeBuilder_ == null) {
1240           if (((bitField0_ & 0x00000004) != 0)
1241               && expireTime_ != null
1242               && expireTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
1243             getExpireTimeBuilder().mergeFrom(value);
1244           } else {
1245             expireTime_ = value;
1246           }
1247         } else {
1248           expireTimeBuilder_.mergeFrom(value);
1249         }
1250         bitField0_ |= 0x00000004;
1251         onChanged();
1252         return this;
1253       }
1254       /**
1255        *
1256        *
1257        * <pre>
1258        * The cache lifetime for the returned match. Clients must not cache this
1259        * response past this timestamp to avoid false positives.
1260        * </pre>
1261        *
1262        * <code>.google.protobuf.Timestamp expire_time = 3;</code>
1263        */
clearExpireTime()1264       public Builder clearExpireTime() {
1265         bitField0_ = (bitField0_ & ~0x00000004);
1266         expireTime_ = null;
1267         if (expireTimeBuilder_ != null) {
1268           expireTimeBuilder_.dispose();
1269           expireTimeBuilder_ = null;
1270         }
1271         onChanged();
1272         return this;
1273       }
1274       /**
1275        *
1276        *
1277        * <pre>
1278        * The cache lifetime for the returned match. Clients must not cache this
1279        * response past this timestamp to avoid false positives.
1280        * </pre>
1281        *
1282        * <code>.google.protobuf.Timestamp expire_time = 3;</code>
1283        */
getExpireTimeBuilder()1284       public com.google.protobuf.Timestamp.Builder getExpireTimeBuilder() {
1285         bitField0_ |= 0x00000004;
1286         onChanged();
1287         return getExpireTimeFieldBuilder().getBuilder();
1288       }
1289       /**
1290        *
1291        *
1292        * <pre>
1293        * The cache lifetime for the returned match. Clients must not cache this
1294        * response past this timestamp to avoid false positives.
1295        * </pre>
1296        *
1297        * <code>.google.protobuf.Timestamp expire_time = 3;</code>
1298        */
getExpireTimeOrBuilder()1299       public com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder() {
1300         if (expireTimeBuilder_ != null) {
1301           return expireTimeBuilder_.getMessageOrBuilder();
1302         } else {
1303           return expireTime_ == null
1304               ? com.google.protobuf.Timestamp.getDefaultInstance()
1305               : expireTime_;
1306         }
1307       }
1308       /**
1309        *
1310        *
1311        * <pre>
1312        * The cache lifetime for the returned match. Clients must not cache this
1313        * response past this timestamp to avoid false positives.
1314        * </pre>
1315        *
1316        * <code>.google.protobuf.Timestamp expire_time = 3;</code>
1317        */
1318       private com.google.protobuf.SingleFieldBuilderV3<
1319               com.google.protobuf.Timestamp,
1320               com.google.protobuf.Timestamp.Builder,
1321               com.google.protobuf.TimestampOrBuilder>
getExpireTimeFieldBuilder()1322           getExpireTimeFieldBuilder() {
1323         if (expireTimeBuilder_ == null) {
1324           expireTimeBuilder_ =
1325               new com.google.protobuf.SingleFieldBuilderV3<
1326                   com.google.protobuf.Timestamp,
1327                   com.google.protobuf.Timestamp.Builder,
1328                   com.google.protobuf.TimestampOrBuilder>(
1329                   getExpireTime(), getParentForChildren(), isClean());
1330           expireTime_ = null;
1331         }
1332         return expireTimeBuilder_;
1333       }
1334 
1335       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1336       public final Builder setUnknownFields(
1337           final com.google.protobuf.UnknownFieldSet unknownFields) {
1338         return super.setUnknownFields(unknownFields);
1339       }
1340 
1341       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1342       public final Builder mergeUnknownFields(
1343           final com.google.protobuf.UnknownFieldSet unknownFields) {
1344         return super.mergeUnknownFields(unknownFields);
1345       }
1346 
1347       // @@protoc_insertion_point(builder_scope:google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash)
1348     }
1349 
1350     // @@protoc_insertion_point(class_scope:google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash)
1351     private static final com.google.webrisk.v1.SearchHashesResponse.ThreatHash DEFAULT_INSTANCE;
1352 
1353     static {
1354       DEFAULT_INSTANCE = new com.google.webrisk.v1.SearchHashesResponse.ThreatHash();
1355     }
1356 
getDefaultInstance()1357     public static com.google.webrisk.v1.SearchHashesResponse.ThreatHash getDefaultInstance() {
1358       return DEFAULT_INSTANCE;
1359     }
1360 
1361     private static final com.google.protobuf.Parser<ThreatHash> PARSER =
1362         new com.google.protobuf.AbstractParser<ThreatHash>() {
1363           @java.lang.Override
1364           public ThreatHash parsePartialFrom(
1365               com.google.protobuf.CodedInputStream input,
1366               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1367               throws com.google.protobuf.InvalidProtocolBufferException {
1368             Builder builder = newBuilder();
1369             try {
1370               builder.mergeFrom(input, extensionRegistry);
1371             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1372               throw e.setUnfinishedMessage(builder.buildPartial());
1373             } catch (com.google.protobuf.UninitializedMessageException e) {
1374               throw e.asInvalidProtocolBufferException()
1375                   .setUnfinishedMessage(builder.buildPartial());
1376             } catch (java.io.IOException e) {
1377               throw new com.google.protobuf.InvalidProtocolBufferException(e)
1378                   .setUnfinishedMessage(builder.buildPartial());
1379             }
1380             return builder.buildPartial();
1381           }
1382         };
1383 
parser()1384     public static com.google.protobuf.Parser<ThreatHash> parser() {
1385       return PARSER;
1386     }
1387 
1388     @java.lang.Override
getParserForType()1389     public com.google.protobuf.Parser<ThreatHash> getParserForType() {
1390       return PARSER;
1391     }
1392 
1393     @java.lang.Override
getDefaultInstanceForType()1394     public com.google.webrisk.v1.SearchHashesResponse.ThreatHash getDefaultInstanceForType() {
1395       return DEFAULT_INSTANCE;
1396     }
1397   }
1398 
1399   public static final int THREATS_FIELD_NUMBER = 1;
1400 
1401   @SuppressWarnings("serial")
1402   private java.util.List<com.google.webrisk.v1.SearchHashesResponse.ThreatHash> threats_;
1403   /**
1404    *
1405    *
1406    * <pre>
1407    * The full hashes that matched the requested prefixes.
1408    * The hash will be populated in the key.
1409    * </pre>
1410    *
1411    * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
1412    */
1413   @java.lang.Override
getThreatsList()1414   public java.util.List<com.google.webrisk.v1.SearchHashesResponse.ThreatHash> getThreatsList() {
1415     return threats_;
1416   }
1417   /**
1418    *
1419    *
1420    * <pre>
1421    * The full hashes that matched the requested prefixes.
1422    * The hash will be populated in the key.
1423    * </pre>
1424    *
1425    * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
1426    */
1427   @java.lang.Override
1428   public java.util.List<? extends com.google.webrisk.v1.SearchHashesResponse.ThreatHashOrBuilder>
getThreatsOrBuilderList()1429       getThreatsOrBuilderList() {
1430     return threats_;
1431   }
1432   /**
1433    *
1434    *
1435    * <pre>
1436    * The full hashes that matched the requested prefixes.
1437    * The hash will be populated in the key.
1438    * </pre>
1439    *
1440    * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
1441    */
1442   @java.lang.Override
getThreatsCount()1443   public int getThreatsCount() {
1444     return threats_.size();
1445   }
1446   /**
1447    *
1448    *
1449    * <pre>
1450    * The full hashes that matched the requested prefixes.
1451    * The hash will be populated in the key.
1452    * </pre>
1453    *
1454    * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
1455    */
1456   @java.lang.Override
getThreats(int index)1457   public com.google.webrisk.v1.SearchHashesResponse.ThreatHash getThreats(int index) {
1458     return threats_.get(index);
1459   }
1460   /**
1461    *
1462    *
1463    * <pre>
1464    * The full hashes that matched the requested prefixes.
1465    * The hash will be populated in the key.
1466    * </pre>
1467    *
1468    * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
1469    */
1470   @java.lang.Override
getThreatsOrBuilder( int index)1471   public com.google.webrisk.v1.SearchHashesResponse.ThreatHashOrBuilder getThreatsOrBuilder(
1472       int index) {
1473     return threats_.get(index);
1474   }
1475 
1476   public static final int NEGATIVE_EXPIRE_TIME_FIELD_NUMBER = 2;
1477   private com.google.protobuf.Timestamp negativeExpireTime_;
1478   /**
1479    *
1480    *
1481    * <pre>
1482    * For requested entities that did not match the threat list, how long to
1483    * cache the response until.
1484    * </pre>
1485    *
1486    * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
1487    *
1488    * @return Whether the negativeExpireTime field is set.
1489    */
1490   @java.lang.Override
hasNegativeExpireTime()1491   public boolean hasNegativeExpireTime() {
1492     return negativeExpireTime_ != null;
1493   }
1494   /**
1495    *
1496    *
1497    * <pre>
1498    * For requested entities that did not match the threat list, how long to
1499    * cache the response until.
1500    * </pre>
1501    *
1502    * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
1503    *
1504    * @return The negativeExpireTime.
1505    */
1506   @java.lang.Override
getNegativeExpireTime()1507   public com.google.protobuf.Timestamp getNegativeExpireTime() {
1508     return negativeExpireTime_ == null
1509         ? com.google.protobuf.Timestamp.getDefaultInstance()
1510         : negativeExpireTime_;
1511   }
1512   /**
1513    *
1514    *
1515    * <pre>
1516    * For requested entities that did not match the threat list, how long to
1517    * cache the response until.
1518    * </pre>
1519    *
1520    * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
1521    */
1522   @java.lang.Override
getNegativeExpireTimeOrBuilder()1523   public com.google.protobuf.TimestampOrBuilder getNegativeExpireTimeOrBuilder() {
1524     return negativeExpireTime_ == null
1525         ? com.google.protobuf.Timestamp.getDefaultInstance()
1526         : negativeExpireTime_;
1527   }
1528 
1529   private byte memoizedIsInitialized = -1;
1530 
1531   @java.lang.Override
isInitialized()1532   public final boolean isInitialized() {
1533     byte isInitialized = memoizedIsInitialized;
1534     if (isInitialized == 1) return true;
1535     if (isInitialized == 0) return false;
1536 
1537     memoizedIsInitialized = 1;
1538     return true;
1539   }
1540 
1541   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1542   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1543     for (int i = 0; i < threats_.size(); i++) {
1544       output.writeMessage(1, threats_.get(i));
1545     }
1546     if (negativeExpireTime_ != null) {
1547       output.writeMessage(2, getNegativeExpireTime());
1548     }
1549     getUnknownFields().writeTo(output);
1550   }
1551 
1552   @java.lang.Override
getSerializedSize()1553   public int getSerializedSize() {
1554     int size = memoizedSize;
1555     if (size != -1) return size;
1556 
1557     size = 0;
1558     for (int i = 0; i < threats_.size(); i++) {
1559       size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, threats_.get(i));
1560     }
1561     if (negativeExpireTime_ != null) {
1562       size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getNegativeExpireTime());
1563     }
1564     size += getUnknownFields().getSerializedSize();
1565     memoizedSize = size;
1566     return size;
1567   }
1568 
1569   @java.lang.Override
equals(final java.lang.Object obj)1570   public boolean equals(final java.lang.Object obj) {
1571     if (obj == this) {
1572       return true;
1573     }
1574     if (!(obj instanceof com.google.webrisk.v1.SearchHashesResponse)) {
1575       return super.equals(obj);
1576     }
1577     com.google.webrisk.v1.SearchHashesResponse other =
1578         (com.google.webrisk.v1.SearchHashesResponse) obj;
1579 
1580     if (!getThreatsList().equals(other.getThreatsList())) return false;
1581     if (hasNegativeExpireTime() != other.hasNegativeExpireTime()) return false;
1582     if (hasNegativeExpireTime()) {
1583       if (!getNegativeExpireTime().equals(other.getNegativeExpireTime())) return false;
1584     }
1585     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1586     return true;
1587   }
1588 
1589   @java.lang.Override
hashCode()1590   public int hashCode() {
1591     if (memoizedHashCode != 0) {
1592       return memoizedHashCode;
1593     }
1594     int hash = 41;
1595     hash = (19 * hash) + getDescriptor().hashCode();
1596     if (getThreatsCount() > 0) {
1597       hash = (37 * hash) + THREATS_FIELD_NUMBER;
1598       hash = (53 * hash) + getThreatsList().hashCode();
1599     }
1600     if (hasNegativeExpireTime()) {
1601       hash = (37 * hash) + NEGATIVE_EXPIRE_TIME_FIELD_NUMBER;
1602       hash = (53 * hash) + getNegativeExpireTime().hashCode();
1603     }
1604     hash = (29 * hash) + getUnknownFields().hashCode();
1605     memoizedHashCode = hash;
1606     return hash;
1607   }
1608 
parseFrom(java.nio.ByteBuffer data)1609   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(java.nio.ByteBuffer data)
1610       throws com.google.protobuf.InvalidProtocolBufferException {
1611     return PARSER.parseFrom(data);
1612   }
1613 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1614   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(
1615       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1616       throws com.google.protobuf.InvalidProtocolBufferException {
1617     return PARSER.parseFrom(data, extensionRegistry);
1618   }
1619 
parseFrom( com.google.protobuf.ByteString data)1620   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(
1621       com.google.protobuf.ByteString data)
1622       throws com.google.protobuf.InvalidProtocolBufferException {
1623     return PARSER.parseFrom(data);
1624   }
1625 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1626   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(
1627       com.google.protobuf.ByteString data,
1628       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1629       throws com.google.protobuf.InvalidProtocolBufferException {
1630     return PARSER.parseFrom(data, extensionRegistry);
1631   }
1632 
parseFrom(byte[] data)1633   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(byte[] data)
1634       throws com.google.protobuf.InvalidProtocolBufferException {
1635     return PARSER.parseFrom(data);
1636   }
1637 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1638   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(
1639       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1640       throws com.google.protobuf.InvalidProtocolBufferException {
1641     return PARSER.parseFrom(data, extensionRegistry);
1642   }
1643 
parseFrom(java.io.InputStream input)1644   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(java.io.InputStream input)
1645       throws java.io.IOException {
1646     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1647   }
1648 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1649   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(
1650       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1651       throws java.io.IOException {
1652     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1653         PARSER, input, extensionRegistry);
1654   }
1655 
parseDelimitedFrom( java.io.InputStream input)1656   public static com.google.webrisk.v1.SearchHashesResponse parseDelimitedFrom(
1657       java.io.InputStream input) throws java.io.IOException {
1658     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1659   }
1660 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1661   public static com.google.webrisk.v1.SearchHashesResponse parseDelimitedFrom(
1662       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1663       throws java.io.IOException {
1664     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1665         PARSER, input, extensionRegistry);
1666   }
1667 
parseFrom( com.google.protobuf.CodedInputStream input)1668   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(
1669       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1670     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1671   }
1672 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1673   public static com.google.webrisk.v1.SearchHashesResponse parseFrom(
1674       com.google.protobuf.CodedInputStream input,
1675       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1676       throws java.io.IOException {
1677     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1678         PARSER, input, extensionRegistry);
1679   }
1680 
1681   @java.lang.Override
newBuilderForType()1682   public Builder newBuilderForType() {
1683     return newBuilder();
1684   }
1685 
newBuilder()1686   public static Builder newBuilder() {
1687     return DEFAULT_INSTANCE.toBuilder();
1688   }
1689 
newBuilder(com.google.webrisk.v1.SearchHashesResponse prototype)1690   public static Builder newBuilder(com.google.webrisk.v1.SearchHashesResponse prototype) {
1691     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1692   }
1693 
1694   @java.lang.Override
toBuilder()1695   public Builder toBuilder() {
1696     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1697   }
1698 
1699   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1700   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1701     Builder builder = new Builder(parent);
1702     return builder;
1703   }
1704   /** Protobuf type {@code google.cloud.webrisk.v1.SearchHashesResponse} */
1705   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1706       implements
1707       // @@protoc_insertion_point(builder_implements:google.cloud.webrisk.v1.SearchHashesResponse)
1708       com.google.webrisk.v1.SearchHashesResponseOrBuilder {
getDescriptor()1709     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1710       return com.google.webrisk.v1.WebRiskProto
1711           .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_descriptor;
1712     }
1713 
1714     @java.lang.Override
1715     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1716         internalGetFieldAccessorTable() {
1717       return com.google.webrisk.v1.WebRiskProto
1718           .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_fieldAccessorTable
1719           .ensureFieldAccessorsInitialized(
1720               com.google.webrisk.v1.SearchHashesResponse.class,
1721               com.google.webrisk.v1.SearchHashesResponse.Builder.class);
1722     }
1723 
1724     // Construct using com.google.webrisk.v1.SearchHashesResponse.newBuilder()
Builder()1725     private Builder() {}
1726 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1727     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1728       super(parent);
1729     }
1730 
1731     @java.lang.Override
clear()1732     public Builder clear() {
1733       super.clear();
1734       bitField0_ = 0;
1735       if (threatsBuilder_ == null) {
1736         threats_ = java.util.Collections.emptyList();
1737       } else {
1738         threats_ = null;
1739         threatsBuilder_.clear();
1740       }
1741       bitField0_ = (bitField0_ & ~0x00000001);
1742       negativeExpireTime_ = null;
1743       if (negativeExpireTimeBuilder_ != null) {
1744         negativeExpireTimeBuilder_.dispose();
1745         negativeExpireTimeBuilder_ = null;
1746       }
1747       return this;
1748     }
1749 
1750     @java.lang.Override
getDescriptorForType()1751     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1752       return com.google.webrisk.v1.WebRiskProto
1753           .internal_static_google_cloud_webrisk_v1_SearchHashesResponse_descriptor;
1754     }
1755 
1756     @java.lang.Override
getDefaultInstanceForType()1757     public com.google.webrisk.v1.SearchHashesResponse getDefaultInstanceForType() {
1758       return com.google.webrisk.v1.SearchHashesResponse.getDefaultInstance();
1759     }
1760 
1761     @java.lang.Override
build()1762     public com.google.webrisk.v1.SearchHashesResponse build() {
1763       com.google.webrisk.v1.SearchHashesResponse result = buildPartial();
1764       if (!result.isInitialized()) {
1765         throw newUninitializedMessageException(result);
1766       }
1767       return result;
1768     }
1769 
1770     @java.lang.Override
buildPartial()1771     public com.google.webrisk.v1.SearchHashesResponse buildPartial() {
1772       com.google.webrisk.v1.SearchHashesResponse result =
1773           new com.google.webrisk.v1.SearchHashesResponse(this);
1774       buildPartialRepeatedFields(result);
1775       if (bitField0_ != 0) {
1776         buildPartial0(result);
1777       }
1778       onBuilt();
1779       return result;
1780     }
1781 
buildPartialRepeatedFields(com.google.webrisk.v1.SearchHashesResponse result)1782     private void buildPartialRepeatedFields(com.google.webrisk.v1.SearchHashesResponse result) {
1783       if (threatsBuilder_ == null) {
1784         if (((bitField0_ & 0x00000001) != 0)) {
1785           threats_ = java.util.Collections.unmodifiableList(threats_);
1786           bitField0_ = (bitField0_ & ~0x00000001);
1787         }
1788         result.threats_ = threats_;
1789       } else {
1790         result.threats_ = threatsBuilder_.build();
1791       }
1792     }
1793 
buildPartial0(com.google.webrisk.v1.SearchHashesResponse result)1794     private void buildPartial0(com.google.webrisk.v1.SearchHashesResponse result) {
1795       int from_bitField0_ = bitField0_;
1796       if (((from_bitField0_ & 0x00000002) != 0)) {
1797         result.negativeExpireTime_ =
1798             negativeExpireTimeBuilder_ == null
1799                 ? negativeExpireTime_
1800                 : negativeExpireTimeBuilder_.build();
1801       }
1802     }
1803 
1804     @java.lang.Override
clone()1805     public Builder clone() {
1806       return super.clone();
1807     }
1808 
1809     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1810     public Builder setField(
1811         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1812       return super.setField(field, value);
1813     }
1814 
1815     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1816     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1817       return super.clearField(field);
1818     }
1819 
1820     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1821     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1822       return super.clearOneof(oneof);
1823     }
1824 
1825     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1826     public Builder setRepeatedField(
1827         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
1828       return super.setRepeatedField(field, index, value);
1829     }
1830 
1831     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1832     public Builder addRepeatedField(
1833         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1834       return super.addRepeatedField(field, value);
1835     }
1836 
1837     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1838     public Builder mergeFrom(com.google.protobuf.Message other) {
1839       if (other instanceof com.google.webrisk.v1.SearchHashesResponse) {
1840         return mergeFrom((com.google.webrisk.v1.SearchHashesResponse) other);
1841       } else {
1842         super.mergeFrom(other);
1843         return this;
1844       }
1845     }
1846 
mergeFrom(com.google.webrisk.v1.SearchHashesResponse other)1847     public Builder mergeFrom(com.google.webrisk.v1.SearchHashesResponse other) {
1848       if (other == com.google.webrisk.v1.SearchHashesResponse.getDefaultInstance()) return this;
1849       if (threatsBuilder_ == null) {
1850         if (!other.threats_.isEmpty()) {
1851           if (threats_.isEmpty()) {
1852             threats_ = other.threats_;
1853             bitField0_ = (bitField0_ & ~0x00000001);
1854           } else {
1855             ensureThreatsIsMutable();
1856             threats_.addAll(other.threats_);
1857           }
1858           onChanged();
1859         }
1860       } else {
1861         if (!other.threats_.isEmpty()) {
1862           if (threatsBuilder_.isEmpty()) {
1863             threatsBuilder_.dispose();
1864             threatsBuilder_ = null;
1865             threats_ = other.threats_;
1866             bitField0_ = (bitField0_ & ~0x00000001);
1867             threatsBuilder_ =
1868                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
1869                     ? getThreatsFieldBuilder()
1870                     : null;
1871           } else {
1872             threatsBuilder_.addAllMessages(other.threats_);
1873           }
1874         }
1875       }
1876       if (other.hasNegativeExpireTime()) {
1877         mergeNegativeExpireTime(other.getNegativeExpireTime());
1878       }
1879       this.mergeUnknownFields(other.getUnknownFields());
1880       onChanged();
1881       return this;
1882     }
1883 
1884     @java.lang.Override
isInitialized()1885     public final boolean isInitialized() {
1886       return true;
1887     }
1888 
1889     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1890     public Builder mergeFrom(
1891         com.google.protobuf.CodedInputStream input,
1892         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1893         throws java.io.IOException {
1894       if (extensionRegistry == null) {
1895         throw new java.lang.NullPointerException();
1896       }
1897       try {
1898         boolean done = false;
1899         while (!done) {
1900           int tag = input.readTag();
1901           switch (tag) {
1902             case 0:
1903               done = true;
1904               break;
1905             case 10:
1906               {
1907                 com.google.webrisk.v1.SearchHashesResponse.ThreatHash m =
1908                     input.readMessage(
1909                         com.google.webrisk.v1.SearchHashesResponse.ThreatHash.parser(),
1910                         extensionRegistry);
1911                 if (threatsBuilder_ == null) {
1912                   ensureThreatsIsMutable();
1913                   threats_.add(m);
1914                 } else {
1915                   threatsBuilder_.addMessage(m);
1916                 }
1917                 break;
1918               } // case 10
1919             case 18:
1920               {
1921                 input.readMessage(
1922                     getNegativeExpireTimeFieldBuilder().getBuilder(), extensionRegistry);
1923                 bitField0_ |= 0x00000002;
1924                 break;
1925               } // case 18
1926             default:
1927               {
1928                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1929                   done = true; // was an endgroup tag
1930                 }
1931                 break;
1932               } // default:
1933           } // switch (tag)
1934         } // while (!done)
1935       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1936         throw e.unwrapIOException();
1937       } finally {
1938         onChanged();
1939       } // finally
1940       return this;
1941     }
1942 
1943     private int bitField0_;
1944 
1945     private java.util.List<com.google.webrisk.v1.SearchHashesResponse.ThreatHash> threats_ =
1946         java.util.Collections.emptyList();
1947 
ensureThreatsIsMutable()1948     private void ensureThreatsIsMutable() {
1949       if (!((bitField0_ & 0x00000001) != 0)) {
1950         threats_ =
1951             new java.util.ArrayList<com.google.webrisk.v1.SearchHashesResponse.ThreatHash>(
1952                 threats_);
1953         bitField0_ |= 0x00000001;
1954       }
1955     }
1956 
1957     private com.google.protobuf.RepeatedFieldBuilderV3<
1958             com.google.webrisk.v1.SearchHashesResponse.ThreatHash,
1959             com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder,
1960             com.google.webrisk.v1.SearchHashesResponse.ThreatHashOrBuilder>
1961         threatsBuilder_;
1962 
1963     /**
1964      *
1965      *
1966      * <pre>
1967      * The full hashes that matched the requested prefixes.
1968      * The hash will be populated in the key.
1969      * </pre>
1970      *
1971      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
1972      */
getThreatsList()1973     public java.util.List<com.google.webrisk.v1.SearchHashesResponse.ThreatHash> getThreatsList() {
1974       if (threatsBuilder_ == null) {
1975         return java.util.Collections.unmodifiableList(threats_);
1976       } else {
1977         return threatsBuilder_.getMessageList();
1978       }
1979     }
1980     /**
1981      *
1982      *
1983      * <pre>
1984      * The full hashes that matched the requested prefixes.
1985      * The hash will be populated in the key.
1986      * </pre>
1987      *
1988      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
1989      */
getThreatsCount()1990     public int getThreatsCount() {
1991       if (threatsBuilder_ == null) {
1992         return threats_.size();
1993       } else {
1994         return threatsBuilder_.getCount();
1995       }
1996     }
1997     /**
1998      *
1999      *
2000      * <pre>
2001      * The full hashes that matched the requested prefixes.
2002      * The hash will be populated in the key.
2003      * </pre>
2004      *
2005      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2006      */
getThreats(int index)2007     public com.google.webrisk.v1.SearchHashesResponse.ThreatHash getThreats(int index) {
2008       if (threatsBuilder_ == null) {
2009         return threats_.get(index);
2010       } else {
2011         return threatsBuilder_.getMessage(index);
2012       }
2013     }
2014     /**
2015      *
2016      *
2017      * <pre>
2018      * The full hashes that matched the requested prefixes.
2019      * The hash will be populated in the key.
2020      * </pre>
2021      *
2022      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2023      */
setThreats( int index, com.google.webrisk.v1.SearchHashesResponse.ThreatHash value)2024     public Builder setThreats(
2025         int index, com.google.webrisk.v1.SearchHashesResponse.ThreatHash value) {
2026       if (threatsBuilder_ == null) {
2027         if (value == null) {
2028           throw new NullPointerException();
2029         }
2030         ensureThreatsIsMutable();
2031         threats_.set(index, value);
2032         onChanged();
2033       } else {
2034         threatsBuilder_.setMessage(index, value);
2035       }
2036       return this;
2037     }
2038     /**
2039      *
2040      *
2041      * <pre>
2042      * The full hashes that matched the requested prefixes.
2043      * The hash will be populated in the key.
2044      * </pre>
2045      *
2046      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2047      */
setThreats( int index, com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder builderForValue)2048     public Builder setThreats(
2049         int index, com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder builderForValue) {
2050       if (threatsBuilder_ == null) {
2051         ensureThreatsIsMutable();
2052         threats_.set(index, builderForValue.build());
2053         onChanged();
2054       } else {
2055         threatsBuilder_.setMessage(index, builderForValue.build());
2056       }
2057       return this;
2058     }
2059     /**
2060      *
2061      *
2062      * <pre>
2063      * The full hashes that matched the requested prefixes.
2064      * The hash will be populated in the key.
2065      * </pre>
2066      *
2067      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2068      */
addThreats(com.google.webrisk.v1.SearchHashesResponse.ThreatHash value)2069     public Builder addThreats(com.google.webrisk.v1.SearchHashesResponse.ThreatHash value) {
2070       if (threatsBuilder_ == null) {
2071         if (value == null) {
2072           throw new NullPointerException();
2073         }
2074         ensureThreatsIsMutable();
2075         threats_.add(value);
2076         onChanged();
2077       } else {
2078         threatsBuilder_.addMessage(value);
2079       }
2080       return this;
2081     }
2082     /**
2083      *
2084      *
2085      * <pre>
2086      * The full hashes that matched the requested prefixes.
2087      * The hash will be populated in the key.
2088      * </pre>
2089      *
2090      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2091      */
addThreats( int index, com.google.webrisk.v1.SearchHashesResponse.ThreatHash value)2092     public Builder addThreats(
2093         int index, com.google.webrisk.v1.SearchHashesResponse.ThreatHash value) {
2094       if (threatsBuilder_ == null) {
2095         if (value == null) {
2096           throw new NullPointerException();
2097         }
2098         ensureThreatsIsMutable();
2099         threats_.add(index, value);
2100         onChanged();
2101       } else {
2102         threatsBuilder_.addMessage(index, value);
2103       }
2104       return this;
2105     }
2106     /**
2107      *
2108      *
2109      * <pre>
2110      * The full hashes that matched the requested prefixes.
2111      * The hash will be populated in the key.
2112      * </pre>
2113      *
2114      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2115      */
addThreats( com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder builderForValue)2116     public Builder addThreats(
2117         com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder builderForValue) {
2118       if (threatsBuilder_ == null) {
2119         ensureThreatsIsMutable();
2120         threats_.add(builderForValue.build());
2121         onChanged();
2122       } else {
2123         threatsBuilder_.addMessage(builderForValue.build());
2124       }
2125       return this;
2126     }
2127     /**
2128      *
2129      *
2130      * <pre>
2131      * The full hashes that matched the requested prefixes.
2132      * The hash will be populated in the key.
2133      * </pre>
2134      *
2135      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2136      */
addThreats( int index, com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder builderForValue)2137     public Builder addThreats(
2138         int index, com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder builderForValue) {
2139       if (threatsBuilder_ == null) {
2140         ensureThreatsIsMutable();
2141         threats_.add(index, builderForValue.build());
2142         onChanged();
2143       } else {
2144         threatsBuilder_.addMessage(index, builderForValue.build());
2145       }
2146       return this;
2147     }
2148     /**
2149      *
2150      *
2151      * <pre>
2152      * The full hashes that matched the requested prefixes.
2153      * The hash will be populated in the key.
2154      * </pre>
2155      *
2156      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2157      */
addAllThreats( java.lang.Iterable<? extends com.google.webrisk.v1.SearchHashesResponse.ThreatHash> values)2158     public Builder addAllThreats(
2159         java.lang.Iterable<? extends com.google.webrisk.v1.SearchHashesResponse.ThreatHash>
2160             values) {
2161       if (threatsBuilder_ == null) {
2162         ensureThreatsIsMutable();
2163         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, threats_);
2164         onChanged();
2165       } else {
2166         threatsBuilder_.addAllMessages(values);
2167       }
2168       return this;
2169     }
2170     /**
2171      *
2172      *
2173      * <pre>
2174      * The full hashes that matched the requested prefixes.
2175      * The hash will be populated in the key.
2176      * </pre>
2177      *
2178      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2179      */
clearThreats()2180     public Builder clearThreats() {
2181       if (threatsBuilder_ == null) {
2182         threats_ = java.util.Collections.emptyList();
2183         bitField0_ = (bitField0_ & ~0x00000001);
2184         onChanged();
2185       } else {
2186         threatsBuilder_.clear();
2187       }
2188       return this;
2189     }
2190     /**
2191      *
2192      *
2193      * <pre>
2194      * The full hashes that matched the requested prefixes.
2195      * The hash will be populated in the key.
2196      * </pre>
2197      *
2198      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2199      */
removeThreats(int index)2200     public Builder removeThreats(int index) {
2201       if (threatsBuilder_ == null) {
2202         ensureThreatsIsMutable();
2203         threats_.remove(index);
2204         onChanged();
2205       } else {
2206         threatsBuilder_.remove(index);
2207       }
2208       return this;
2209     }
2210     /**
2211      *
2212      *
2213      * <pre>
2214      * The full hashes that matched the requested prefixes.
2215      * The hash will be populated in the key.
2216      * </pre>
2217      *
2218      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2219      */
getThreatsBuilder( int index)2220     public com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder getThreatsBuilder(
2221         int index) {
2222       return getThreatsFieldBuilder().getBuilder(index);
2223     }
2224     /**
2225      *
2226      *
2227      * <pre>
2228      * The full hashes that matched the requested prefixes.
2229      * The hash will be populated in the key.
2230      * </pre>
2231      *
2232      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2233      */
getThreatsOrBuilder( int index)2234     public com.google.webrisk.v1.SearchHashesResponse.ThreatHashOrBuilder getThreatsOrBuilder(
2235         int index) {
2236       if (threatsBuilder_ == null) {
2237         return threats_.get(index);
2238       } else {
2239         return threatsBuilder_.getMessageOrBuilder(index);
2240       }
2241     }
2242     /**
2243      *
2244      *
2245      * <pre>
2246      * The full hashes that matched the requested prefixes.
2247      * The hash will be populated in the key.
2248      * </pre>
2249      *
2250      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2251      */
2252     public java.util.List<? extends com.google.webrisk.v1.SearchHashesResponse.ThreatHashOrBuilder>
getThreatsOrBuilderList()2253         getThreatsOrBuilderList() {
2254       if (threatsBuilder_ != null) {
2255         return threatsBuilder_.getMessageOrBuilderList();
2256       } else {
2257         return java.util.Collections.unmodifiableList(threats_);
2258       }
2259     }
2260     /**
2261      *
2262      *
2263      * <pre>
2264      * The full hashes that matched the requested prefixes.
2265      * The hash will be populated in the key.
2266      * </pre>
2267      *
2268      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2269      */
addThreatsBuilder()2270     public com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder addThreatsBuilder() {
2271       return getThreatsFieldBuilder()
2272           .addBuilder(com.google.webrisk.v1.SearchHashesResponse.ThreatHash.getDefaultInstance());
2273     }
2274     /**
2275      *
2276      *
2277      * <pre>
2278      * The full hashes that matched the requested prefixes.
2279      * The hash will be populated in the key.
2280      * </pre>
2281      *
2282      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2283      */
addThreatsBuilder( int index)2284     public com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder addThreatsBuilder(
2285         int index) {
2286       return getThreatsFieldBuilder()
2287           .addBuilder(
2288               index, com.google.webrisk.v1.SearchHashesResponse.ThreatHash.getDefaultInstance());
2289     }
2290     /**
2291      *
2292      *
2293      * <pre>
2294      * The full hashes that matched the requested prefixes.
2295      * The hash will be populated in the key.
2296      * </pre>
2297      *
2298      * <code>repeated .google.cloud.webrisk.v1.SearchHashesResponse.ThreatHash threats = 1;</code>
2299      */
2300     public java.util.List<com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder>
getThreatsBuilderList()2301         getThreatsBuilderList() {
2302       return getThreatsFieldBuilder().getBuilderList();
2303     }
2304 
2305     private com.google.protobuf.RepeatedFieldBuilderV3<
2306             com.google.webrisk.v1.SearchHashesResponse.ThreatHash,
2307             com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder,
2308             com.google.webrisk.v1.SearchHashesResponse.ThreatHashOrBuilder>
getThreatsFieldBuilder()2309         getThreatsFieldBuilder() {
2310       if (threatsBuilder_ == null) {
2311         threatsBuilder_ =
2312             new com.google.protobuf.RepeatedFieldBuilderV3<
2313                 com.google.webrisk.v1.SearchHashesResponse.ThreatHash,
2314                 com.google.webrisk.v1.SearchHashesResponse.ThreatHash.Builder,
2315                 com.google.webrisk.v1.SearchHashesResponse.ThreatHashOrBuilder>(
2316                 threats_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
2317         threats_ = null;
2318       }
2319       return threatsBuilder_;
2320     }
2321 
2322     private com.google.protobuf.Timestamp negativeExpireTime_;
2323     private com.google.protobuf.SingleFieldBuilderV3<
2324             com.google.protobuf.Timestamp,
2325             com.google.protobuf.Timestamp.Builder,
2326             com.google.protobuf.TimestampOrBuilder>
2327         negativeExpireTimeBuilder_;
2328     /**
2329      *
2330      *
2331      * <pre>
2332      * For requested entities that did not match the threat list, how long to
2333      * cache the response until.
2334      * </pre>
2335      *
2336      * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
2337      *
2338      * @return Whether the negativeExpireTime field is set.
2339      */
hasNegativeExpireTime()2340     public boolean hasNegativeExpireTime() {
2341       return ((bitField0_ & 0x00000002) != 0);
2342     }
2343     /**
2344      *
2345      *
2346      * <pre>
2347      * For requested entities that did not match the threat list, how long to
2348      * cache the response until.
2349      * </pre>
2350      *
2351      * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
2352      *
2353      * @return The negativeExpireTime.
2354      */
getNegativeExpireTime()2355     public com.google.protobuf.Timestamp getNegativeExpireTime() {
2356       if (negativeExpireTimeBuilder_ == null) {
2357         return negativeExpireTime_ == null
2358             ? com.google.protobuf.Timestamp.getDefaultInstance()
2359             : negativeExpireTime_;
2360       } else {
2361         return negativeExpireTimeBuilder_.getMessage();
2362       }
2363     }
2364     /**
2365      *
2366      *
2367      * <pre>
2368      * For requested entities that did not match the threat list, how long to
2369      * cache the response until.
2370      * </pre>
2371      *
2372      * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
2373      */
setNegativeExpireTime(com.google.protobuf.Timestamp value)2374     public Builder setNegativeExpireTime(com.google.protobuf.Timestamp value) {
2375       if (negativeExpireTimeBuilder_ == null) {
2376         if (value == null) {
2377           throw new NullPointerException();
2378         }
2379         negativeExpireTime_ = value;
2380       } else {
2381         negativeExpireTimeBuilder_.setMessage(value);
2382       }
2383       bitField0_ |= 0x00000002;
2384       onChanged();
2385       return this;
2386     }
2387     /**
2388      *
2389      *
2390      * <pre>
2391      * For requested entities that did not match the threat list, how long to
2392      * cache the response until.
2393      * </pre>
2394      *
2395      * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
2396      */
setNegativeExpireTime(com.google.protobuf.Timestamp.Builder builderForValue)2397     public Builder setNegativeExpireTime(com.google.protobuf.Timestamp.Builder builderForValue) {
2398       if (negativeExpireTimeBuilder_ == null) {
2399         negativeExpireTime_ = builderForValue.build();
2400       } else {
2401         negativeExpireTimeBuilder_.setMessage(builderForValue.build());
2402       }
2403       bitField0_ |= 0x00000002;
2404       onChanged();
2405       return this;
2406     }
2407     /**
2408      *
2409      *
2410      * <pre>
2411      * For requested entities that did not match the threat list, how long to
2412      * cache the response until.
2413      * </pre>
2414      *
2415      * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
2416      */
mergeNegativeExpireTime(com.google.protobuf.Timestamp value)2417     public Builder mergeNegativeExpireTime(com.google.protobuf.Timestamp value) {
2418       if (negativeExpireTimeBuilder_ == null) {
2419         if (((bitField0_ & 0x00000002) != 0)
2420             && negativeExpireTime_ != null
2421             && negativeExpireTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
2422           getNegativeExpireTimeBuilder().mergeFrom(value);
2423         } else {
2424           negativeExpireTime_ = value;
2425         }
2426       } else {
2427         negativeExpireTimeBuilder_.mergeFrom(value);
2428       }
2429       bitField0_ |= 0x00000002;
2430       onChanged();
2431       return this;
2432     }
2433     /**
2434      *
2435      *
2436      * <pre>
2437      * For requested entities that did not match the threat list, how long to
2438      * cache the response until.
2439      * </pre>
2440      *
2441      * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
2442      */
clearNegativeExpireTime()2443     public Builder clearNegativeExpireTime() {
2444       bitField0_ = (bitField0_ & ~0x00000002);
2445       negativeExpireTime_ = null;
2446       if (negativeExpireTimeBuilder_ != null) {
2447         negativeExpireTimeBuilder_.dispose();
2448         negativeExpireTimeBuilder_ = null;
2449       }
2450       onChanged();
2451       return this;
2452     }
2453     /**
2454      *
2455      *
2456      * <pre>
2457      * For requested entities that did not match the threat list, how long to
2458      * cache the response until.
2459      * </pre>
2460      *
2461      * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
2462      */
getNegativeExpireTimeBuilder()2463     public com.google.protobuf.Timestamp.Builder getNegativeExpireTimeBuilder() {
2464       bitField0_ |= 0x00000002;
2465       onChanged();
2466       return getNegativeExpireTimeFieldBuilder().getBuilder();
2467     }
2468     /**
2469      *
2470      *
2471      * <pre>
2472      * For requested entities that did not match the threat list, how long to
2473      * cache the response until.
2474      * </pre>
2475      *
2476      * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
2477      */
getNegativeExpireTimeOrBuilder()2478     public com.google.protobuf.TimestampOrBuilder getNegativeExpireTimeOrBuilder() {
2479       if (negativeExpireTimeBuilder_ != null) {
2480         return negativeExpireTimeBuilder_.getMessageOrBuilder();
2481       } else {
2482         return negativeExpireTime_ == null
2483             ? com.google.protobuf.Timestamp.getDefaultInstance()
2484             : negativeExpireTime_;
2485       }
2486     }
2487     /**
2488      *
2489      *
2490      * <pre>
2491      * For requested entities that did not match the threat list, how long to
2492      * cache the response until.
2493      * </pre>
2494      *
2495      * <code>.google.protobuf.Timestamp negative_expire_time = 2;</code>
2496      */
2497     private com.google.protobuf.SingleFieldBuilderV3<
2498             com.google.protobuf.Timestamp,
2499             com.google.protobuf.Timestamp.Builder,
2500             com.google.protobuf.TimestampOrBuilder>
getNegativeExpireTimeFieldBuilder()2501         getNegativeExpireTimeFieldBuilder() {
2502       if (negativeExpireTimeBuilder_ == null) {
2503         negativeExpireTimeBuilder_ =
2504             new com.google.protobuf.SingleFieldBuilderV3<
2505                 com.google.protobuf.Timestamp,
2506                 com.google.protobuf.Timestamp.Builder,
2507                 com.google.protobuf.TimestampOrBuilder>(
2508                 getNegativeExpireTime(), getParentForChildren(), isClean());
2509         negativeExpireTime_ = null;
2510       }
2511       return negativeExpireTimeBuilder_;
2512     }
2513 
2514     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)2515     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
2516       return super.setUnknownFields(unknownFields);
2517     }
2518 
2519     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2520     public final Builder mergeUnknownFields(
2521         final com.google.protobuf.UnknownFieldSet unknownFields) {
2522       return super.mergeUnknownFields(unknownFields);
2523     }
2524 
2525     // @@protoc_insertion_point(builder_scope:google.cloud.webrisk.v1.SearchHashesResponse)
2526   }
2527 
2528   // @@protoc_insertion_point(class_scope:google.cloud.webrisk.v1.SearchHashesResponse)
2529   private static final com.google.webrisk.v1.SearchHashesResponse DEFAULT_INSTANCE;
2530 
2531   static {
2532     DEFAULT_INSTANCE = new com.google.webrisk.v1.SearchHashesResponse();
2533   }
2534 
getDefaultInstance()2535   public static com.google.webrisk.v1.SearchHashesResponse getDefaultInstance() {
2536     return DEFAULT_INSTANCE;
2537   }
2538 
2539   private static final com.google.protobuf.Parser<SearchHashesResponse> PARSER =
2540       new com.google.protobuf.AbstractParser<SearchHashesResponse>() {
2541         @java.lang.Override
2542         public SearchHashesResponse parsePartialFrom(
2543             com.google.protobuf.CodedInputStream input,
2544             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2545             throws com.google.protobuf.InvalidProtocolBufferException {
2546           Builder builder = newBuilder();
2547           try {
2548             builder.mergeFrom(input, extensionRegistry);
2549           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2550             throw e.setUnfinishedMessage(builder.buildPartial());
2551           } catch (com.google.protobuf.UninitializedMessageException e) {
2552             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
2553           } catch (java.io.IOException e) {
2554             throw new com.google.protobuf.InvalidProtocolBufferException(e)
2555                 .setUnfinishedMessage(builder.buildPartial());
2556           }
2557           return builder.buildPartial();
2558         }
2559       };
2560 
parser()2561   public static com.google.protobuf.Parser<SearchHashesResponse> parser() {
2562     return PARSER;
2563   }
2564 
2565   @java.lang.Override
getParserForType()2566   public com.google.protobuf.Parser<SearchHashesResponse> getParserForType() {
2567     return PARSER;
2568   }
2569 
2570   @java.lang.Override
getDefaultInstanceForType()2571   public com.google.webrisk.v1.SearchHashesResponse getDefaultInstanceForType() {
2572     return DEFAULT_INSTANCE;
2573   }
2574 }
2575