• 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/privacy/dlp/v2/storage.proto
18 
19 package com.google.privacy.dlp.v2;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Shared message indicating Cloud storage type.
26  * </pre>
27  *
28  * Protobuf type {@code google.privacy.dlp.v2.StorageConfig}
29  */
30 public final class StorageConfig extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.privacy.dlp.v2.StorageConfig)
33     StorageConfigOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use StorageConfig.newBuilder() to construct.
StorageConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private StorageConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
StorageConfig()40   private StorageConfig() {}
41 
42   @java.lang.Override
43   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)44   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
45     return new StorageConfig();
46   }
47 
48   @java.lang.Override
getUnknownFields()49   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
50     return this.unknownFields;
51   }
52 
getDescriptor()53   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
54     return com.google.privacy.dlp.v2.DlpStorage
55         .internal_static_google_privacy_dlp_v2_StorageConfig_descriptor;
56   }
57 
58   @java.lang.Override
59   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()60       internalGetFieldAccessorTable() {
61     return com.google.privacy.dlp.v2.DlpStorage
62         .internal_static_google_privacy_dlp_v2_StorageConfig_fieldAccessorTable
63         .ensureFieldAccessorsInitialized(
64             com.google.privacy.dlp.v2.StorageConfig.class,
65             com.google.privacy.dlp.v2.StorageConfig.Builder.class);
66   }
67 
68   public interface TimespanConfigOrBuilder
69       extends
70       // @@protoc_insertion_point(interface_extends:google.privacy.dlp.v2.StorageConfig.TimespanConfig)
71       com.google.protobuf.MessageOrBuilder {
72 
73     /**
74      *
75      *
76      * <pre>
77      * Exclude files, tables, or rows older than this value.
78      * If not set, no lower time limit is applied.
79      * </pre>
80      *
81      * <code>.google.protobuf.Timestamp start_time = 1;</code>
82      *
83      * @return Whether the startTime field is set.
84      */
hasStartTime()85     boolean hasStartTime();
86     /**
87      *
88      *
89      * <pre>
90      * Exclude files, tables, or rows older than this value.
91      * If not set, no lower time limit is applied.
92      * </pre>
93      *
94      * <code>.google.protobuf.Timestamp start_time = 1;</code>
95      *
96      * @return The startTime.
97      */
getStartTime()98     com.google.protobuf.Timestamp getStartTime();
99     /**
100      *
101      *
102      * <pre>
103      * Exclude files, tables, or rows older than this value.
104      * If not set, no lower time limit is applied.
105      * </pre>
106      *
107      * <code>.google.protobuf.Timestamp start_time = 1;</code>
108      */
getStartTimeOrBuilder()109     com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder();
110 
111     /**
112      *
113      *
114      * <pre>
115      * Exclude files, tables, or rows newer than this value.
116      * If not set, no upper time limit is applied.
117      * </pre>
118      *
119      * <code>.google.protobuf.Timestamp end_time = 2;</code>
120      *
121      * @return Whether the endTime field is set.
122      */
hasEndTime()123     boolean hasEndTime();
124     /**
125      *
126      *
127      * <pre>
128      * Exclude files, tables, or rows newer than this value.
129      * If not set, no upper time limit is applied.
130      * </pre>
131      *
132      * <code>.google.protobuf.Timestamp end_time = 2;</code>
133      *
134      * @return The endTime.
135      */
getEndTime()136     com.google.protobuf.Timestamp getEndTime();
137     /**
138      *
139      *
140      * <pre>
141      * Exclude files, tables, or rows newer than this value.
142      * If not set, no upper time limit is applied.
143      * </pre>
144      *
145      * <code>.google.protobuf.Timestamp end_time = 2;</code>
146      */
getEndTimeOrBuilder()147     com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder();
148 
149     /**
150      *
151      *
152      * <pre>
153      * Specification of the field containing the timestamp of scanned items.
154      * Used for data sources like Datastore and BigQuery.
155      * &lt;b&gt;For BigQuery&lt;/b&gt;
156      * If this value is not specified and the table was modified between the
157      * given start and end times, the entire table will be scanned. If this
158      * value is specified, then rows are filtered based on the given start and
159      * end times. Rows with a `NULL` value in the provided BigQuery column are
160      * skipped.
161      * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
162      * `TIMESTAMP`, and `DATETIME`.
163      * If your BigQuery table is [partitioned at ingestion
164      * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
165      * you can use any of the following pseudo-columns as your timestamp field.
166      * When used with Cloud DLP, these pseudo-column names are case sensitive.
167      * &lt;ul&gt;
168      * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
169      * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
170      * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
171      * &lt;/ul&gt;
172      * &lt;b&gt;For Datastore&lt;/b&gt;
173      * If this value is specified, then entities are filtered based on the given
174      * start and end times. If an entity does not contain the provided timestamp
175      * property or contains empty or invalid values, then it is included.
176      * Valid data types of the provided timestamp property are: `TIMESTAMP`.
177      * See the
178      * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
179      * related to this operation.
180      * </pre>
181      *
182      * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
183      *
184      * @return Whether the timestampField field is set.
185      */
hasTimestampField()186     boolean hasTimestampField();
187     /**
188      *
189      *
190      * <pre>
191      * Specification of the field containing the timestamp of scanned items.
192      * Used for data sources like Datastore and BigQuery.
193      * &lt;b&gt;For BigQuery&lt;/b&gt;
194      * If this value is not specified and the table was modified between the
195      * given start and end times, the entire table will be scanned. If this
196      * value is specified, then rows are filtered based on the given start and
197      * end times. Rows with a `NULL` value in the provided BigQuery column are
198      * skipped.
199      * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
200      * `TIMESTAMP`, and `DATETIME`.
201      * If your BigQuery table is [partitioned at ingestion
202      * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
203      * you can use any of the following pseudo-columns as your timestamp field.
204      * When used with Cloud DLP, these pseudo-column names are case sensitive.
205      * &lt;ul&gt;
206      * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
207      * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
208      * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
209      * &lt;/ul&gt;
210      * &lt;b&gt;For Datastore&lt;/b&gt;
211      * If this value is specified, then entities are filtered based on the given
212      * start and end times. If an entity does not contain the provided timestamp
213      * property or contains empty or invalid values, then it is included.
214      * Valid data types of the provided timestamp property are: `TIMESTAMP`.
215      * See the
216      * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
217      * related to this operation.
218      * </pre>
219      *
220      * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
221      *
222      * @return The timestampField.
223      */
getTimestampField()224     com.google.privacy.dlp.v2.FieldId getTimestampField();
225     /**
226      *
227      *
228      * <pre>
229      * Specification of the field containing the timestamp of scanned items.
230      * Used for data sources like Datastore and BigQuery.
231      * &lt;b&gt;For BigQuery&lt;/b&gt;
232      * If this value is not specified and the table was modified between the
233      * given start and end times, the entire table will be scanned. If this
234      * value is specified, then rows are filtered based on the given start and
235      * end times. Rows with a `NULL` value in the provided BigQuery column are
236      * skipped.
237      * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
238      * `TIMESTAMP`, and `DATETIME`.
239      * If your BigQuery table is [partitioned at ingestion
240      * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
241      * you can use any of the following pseudo-columns as your timestamp field.
242      * When used with Cloud DLP, these pseudo-column names are case sensitive.
243      * &lt;ul&gt;
244      * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
245      * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
246      * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
247      * &lt;/ul&gt;
248      * &lt;b&gt;For Datastore&lt;/b&gt;
249      * If this value is specified, then entities are filtered based on the given
250      * start and end times. If an entity does not contain the provided timestamp
251      * property or contains empty or invalid values, then it is included.
252      * Valid data types of the provided timestamp property are: `TIMESTAMP`.
253      * See the
254      * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
255      * related to this operation.
256      * </pre>
257      *
258      * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
259      */
getTimestampFieldOrBuilder()260     com.google.privacy.dlp.v2.FieldIdOrBuilder getTimestampFieldOrBuilder();
261 
262     /**
263      *
264      *
265      * <pre>
266      * When the job is started by a JobTrigger we will automatically figure out
267      * a valid start_time to avoid scanning files that have not been modified
268      * since the last time the JobTrigger executed. This will be based on the
269      * time of the execution of the last run of the JobTrigger or the timespan
270      * end_time used in the last run of the JobTrigger.
271      * </pre>
272      *
273      * <code>bool enable_auto_population_of_timespan_config = 4;</code>
274      *
275      * @return The enableAutoPopulationOfTimespanConfig.
276      */
getEnableAutoPopulationOfTimespanConfig()277     boolean getEnableAutoPopulationOfTimespanConfig();
278   }
279   /**
280    *
281    *
282    * <pre>
283    * Configuration of the timespan of the items to include in scanning.
284    * Currently only supported when inspecting Cloud Storage and BigQuery.
285    * </pre>
286    *
287    * Protobuf type {@code google.privacy.dlp.v2.StorageConfig.TimespanConfig}
288    */
289   public static final class TimespanConfig extends com.google.protobuf.GeneratedMessageV3
290       implements
291       // @@protoc_insertion_point(message_implements:google.privacy.dlp.v2.StorageConfig.TimespanConfig)
292       TimespanConfigOrBuilder {
293     private static final long serialVersionUID = 0L;
294     // Use TimespanConfig.newBuilder() to construct.
TimespanConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)295     private TimespanConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
296       super(builder);
297     }
298 
TimespanConfig()299     private TimespanConfig() {}
300 
301     @java.lang.Override
302     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)303     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
304       return new TimespanConfig();
305     }
306 
307     @java.lang.Override
getUnknownFields()308     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
309       return this.unknownFields;
310     }
311 
getDescriptor()312     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
313       return com.google.privacy.dlp.v2.DlpStorage
314           .internal_static_google_privacy_dlp_v2_StorageConfig_TimespanConfig_descriptor;
315     }
316 
317     @java.lang.Override
318     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()319         internalGetFieldAccessorTable() {
320       return com.google.privacy.dlp.v2.DlpStorage
321           .internal_static_google_privacy_dlp_v2_StorageConfig_TimespanConfig_fieldAccessorTable
322           .ensureFieldAccessorsInitialized(
323               com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.class,
324               com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.Builder.class);
325     }
326 
327     public static final int START_TIME_FIELD_NUMBER = 1;
328     private com.google.protobuf.Timestamp startTime_;
329     /**
330      *
331      *
332      * <pre>
333      * Exclude files, tables, or rows older than this value.
334      * If not set, no lower time limit is applied.
335      * </pre>
336      *
337      * <code>.google.protobuf.Timestamp start_time = 1;</code>
338      *
339      * @return Whether the startTime field is set.
340      */
341     @java.lang.Override
hasStartTime()342     public boolean hasStartTime() {
343       return startTime_ != null;
344     }
345     /**
346      *
347      *
348      * <pre>
349      * Exclude files, tables, or rows older than this value.
350      * If not set, no lower time limit is applied.
351      * </pre>
352      *
353      * <code>.google.protobuf.Timestamp start_time = 1;</code>
354      *
355      * @return The startTime.
356      */
357     @java.lang.Override
getStartTime()358     public com.google.protobuf.Timestamp getStartTime() {
359       return startTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : startTime_;
360     }
361     /**
362      *
363      *
364      * <pre>
365      * Exclude files, tables, or rows older than this value.
366      * If not set, no lower time limit is applied.
367      * </pre>
368      *
369      * <code>.google.protobuf.Timestamp start_time = 1;</code>
370      */
371     @java.lang.Override
getStartTimeOrBuilder()372     public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder() {
373       return startTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : startTime_;
374     }
375 
376     public static final int END_TIME_FIELD_NUMBER = 2;
377     private com.google.protobuf.Timestamp endTime_;
378     /**
379      *
380      *
381      * <pre>
382      * Exclude files, tables, or rows newer than this value.
383      * If not set, no upper time limit is applied.
384      * </pre>
385      *
386      * <code>.google.protobuf.Timestamp end_time = 2;</code>
387      *
388      * @return Whether the endTime field is set.
389      */
390     @java.lang.Override
hasEndTime()391     public boolean hasEndTime() {
392       return endTime_ != null;
393     }
394     /**
395      *
396      *
397      * <pre>
398      * Exclude files, tables, or rows newer than this value.
399      * If not set, no upper time limit is applied.
400      * </pre>
401      *
402      * <code>.google.protobuf.Timestamp end_time = 2;</code>
403      *
404      * @return The endTime.
405      */
406     @java.lang.Override
getEndTime()407     public com.google.protobuf.Timestamp getEndTime() {
408       return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_;
409     }
410     /**
411      *
412      *
413      * <pre>
414      * Exclude files, tables, or rows newer than this value.
415      * If not set, no upper time limit is applied.
416      * </pre>
417      *
418      * <code>.google.protobuf.Timestamp end_time = 2;</code>
419      */
420     @java.lang.Override
getEndTimeOrBuilder()421     public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() {
422       return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_;
423     }
424 
425     public static final int TIMESTAMP_FIELD_FIELD_NUMBER = 3;
426     private com.google.privacy.dlp.v2.FieldId timestampField_;
427     /**
428      *
429      *
430      * <pre>
431      * Specification of the field containing the timestamp of scanned items.
432      * Used for data sources like Datastore and BigQuery.
433      * &lt;b&gt;For BigQuery&lt;/b&gt;
434      * If this value is not specified and the table was modified between the
435      * given start and end times, the entire table will be scanned. If this
436      * value is specified, then rows are filtered based on the given start and
437      * end times. Rows with a `NULL` value in the provided BigQuery column are
438      * skipped.
439      * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
440      * `TIMESTAMP`, and `DATETIME`.
441      * If your BigQuery table is [partitioned at ingestion
442      * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
443      * you can use any of the following pseudo-columns as your timestamp field.
444      * When used with Cloud DLP, these pseudo-column names are case sensitive.
445      * &lt;ul&gt;
446      * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
447      * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
448      * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
449      * &lt;/ul&gt;
450      * &lt;b&gt;For Datastore&lt;/b&gt;
451      * If this value is specified, then entities are filtered based on the given
452      * start and end times. If an entity does not contain the provided timestamp
453      * property or contains empty or invalid values, then it is included.
454      * Valid data types of the provided timestamp property are: `TIMESTAMP`.
455      * See the
456      * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
457      * related to this operation.
458      * </pre>
459      *
460      * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
461      *
462      * @return Whether the timestampField field is set.
463      */
464     @java.lang.Override
hasTimestampField()465     public boolean hasTimestampField() {
466       return timestampField_ != null;
467     }
468     /**
469      *
470      *
471      * <pre>
472      * Specification of the field containing the timestamp of scanned items.
473      * Used for data sources like Datastore and BigQuery.
474      * &lt;b&gt;For BigQuery&lt;/b&gt;
475      * If this value is not specified and the table was modified between the
476      * given start and end times, the entire table will be scanned. If this
477      * value is specified, then rows are filtered based on the given start and
478      * end times. Rows with a `NULL` value in the provided BigQuery column are
479      * skipped.
480      * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
481      * `TIMESTAMP`, and `DATETIME`.
482      * If your BigQuery table is [partitioned at ingestion
483      * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
484      * you can use any of the following pseudo-columns as your timestamp field.
485      * When used with Cloud DLP, these pseudo-column names are case sensitive.
486      * &lt;ul&gt;
487      * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
488      * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
489      * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
490      * &lt;/ul&gt;
491      * &lt;b&gt;For Datastore&lt;/b&gt;
492      * If this value is specified, then entities are filtered based on the given
493      * start and end times. If an entity does not contain the provided timestamp
494      * property or contains empty or invalid values, then it is included.
495      * Valid data types of the provided timestamp property are: `TIMESTAMP`.
496      * See the
497      * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
498      * related to this operation.
499      * </pre>
500      *
501      * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
502      *
503      * @return The timestampField.
504      */
505     @java.lang.Override
getTimestampField()506     public com.google.privacy.dlp.v2.FieldId getTimestampField() {
507       return timestampField_ == null
508           ? com.google.privacy.dlp.v2.FieldId.getDefaultInstance()
509           : timestampField_;
510     }
511     /**
512      *
513      *
514      * <pre>
515      * Specification of the field containing the timestamp of scanned items.
516      * Used for data sources like Datastore and BigQuery.
517      * &lt;b&gt;For BigQuery&lt;/b&gt;
518      * If this value is not specified and the table was modified between the
519      * given start and end times, the entire table will be scanned. If this
520      * value is specified, then rows are filtered based on the given start and
521      * end times. Rows with a `NULL` value in the provided BigQuery column are
522      * skipped.
523      * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
524      * `TIMESTAMP`, and `DATETIME`.
525      * If your BigQuery table is [partitioned at ingestion
526      * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
527      * you can use any of the following pseudo-columns as your timestamp field.
528      * When used with Cloud DLP, these pseudo-column names are case sensitive.
529      * &lt;ul&gt;
530      * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
531      * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
532      * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
533      * &lt;/ul&gt;
534      * &lt;b&gt;For Datastore&lt;/b&gt;
535      * If this value is specified, then entities are filtered based on the given
536      * start and end times. If an entity does not contain the provided timestamp
537      * property or contains empty or invalid values, then it is included.
538      * Valid data types of the provided timestamp property are: `TIMESTAMP`.
539      * See the
540      * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
541      * related to this operation.
542      * </pre>
543      *
544      * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
545      */
546     @java.lang.Override
getTimestampFieldOrBuilder()547     public com.google.privacy.dlp.v2.FieldIdOrBuilder getTimestampFieldOrBuilder() {
548       return timestampField_ == null
549           ? com.google.privacy.dlp.v2.FieldId.getDefaultInstance()
550           : timestampField_;
551     }
552 
553     public static final int ENABLE_AUTO_POPULATION_OF_TIMESPAN_CONFIG_FIELD_NUMBER = 4;
554     private boolean enableAutoPopulationOfTimespanConfig_ = false;
555     /**
556      *
557      *
558      * <pre>
559      * When the job is started by a JobTrigger we will automatically figure out
560      * a valid start_time to avoid scanning files that have not been modified
561      * since the last time the JobTrigger executed. This will be based on the
562      * time of the execution of the last run of the JobTrigger or the timespan
563      * end_time used in the last run of the JobTrigger.
564      * </pre>
565      *
566      * <code>bool enable_auto_population_of_timespan_config = 4;</code>
567      *
568      * @return The enableAutoPopulationOfTimespanConfig.
569      */
570     @java.lang.Override
getEnableAutoPopulationOfTimespanConfig()571     public boolean getEnableAutoPopulationOfTimespanConfig() {
572       return enableAutoPopulationOfTimespanConfig_;
573     }
574 
575     private byte memoizedIsInitialized = -1;
576 
577     @java.lang.Override
isInitialized()578     public final boolean isInitialized() {
579       byte isInitialized = memoizedIsInitialized;
580       if (isInitialized == 1) return true;
581       if (isInitialized == 0) return false;
582 
583       memoizedIsInitialized = 1;
584       return true;
585     }
586 
587     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)588     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
589       if (startTime_ != null) {
590         output.writeMessage(1, getStartTime());
591       }
592       if (endTime_ != null) {
593         output.writeMessage(2, getEndTime());
594       }
595       if (timestampField_ != null) {
596         output.writeMessage(3, getTimestampField());
597       }
598       if (enableAutoPopulationOfTimespanConfig_ != false) {
599         output.writeBool(4, enableAutoPopulationOfTimespanConfig_);
600       }
601       getUnknownFields().writeTo(output);
602     }
603 
604     @java.lang.Override
getSerializedSize()605     public int getSerializedSize() {
606       int size = memoizedSize;
607       if (size != -1) return size;
608 
609       size = 0;
610       if (startTime_ != null) {
611         size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getStartTime());
612       }
613       if (endTime_ != null) {
614         size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getEndTime());
615       }
616       if (timestampField_ != null) {
617         size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getTimestampField());
618       }
619       if (enableAutoPopulationOfTimespanConfig_ != false) {
620         size +=
621             com.google.protobuf.CodedOutputStream.computeBoolSize(
622                 4, enableAutoPopulationOfTimespanConfig_);
623       }
624       size += getUnknownFields().getSerializedSize();
625       memoizedSize = size;
626       return size;
627     }
628 
629     @java.lang.Override
equals(final java.lang.Object obj)630     public boolean equals(final java.lang.Object obj) {
631       if (obj == this) {
632         return true;
633       }
634       if (!(obj instanceof com.google.privacy.dlp.v2.StorageConfig.TimespanConfig)) {
635         return super.equals(obj);
636       }
637       com.google.privacy.dlp.v2.StorageConfig.TimespanConfig other =
638           (com.google.privacy.dlp.v2.StorageConfig.TimespanConfig) obj;
639 
640       if (hasStartTime() != other.hasStartTime()) return false;
641       if (hasStartTime()) {
642         if (!getStartTime().equals(other.getStartTime())) return false;
643       }
644       if (hasEndTime() != other.hasEndTime()) return false;
645       if (hasEndTime()) {
646         if (!getEndTime().equals(other.getEndTime())) return false;
647       }
648       if (hasTimestampField() != other.hasTimestampField()) return false;
649       if (hasTimestampField()) {
650         if (!getTimestampField().equals(other.getTimestampField())) return false;
651       }
652       if (getEnableAutoPopulationOfTimespanConfig()
653           != other.getEnableAutoPopulationOfTimespanConfig()) return false;
654       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
655       return true;
656     }
657 
658     @java.lang.Override
hashCode()659     public int hashCode() {
660       if (memoizedHashCode != 0) {
661         return memoizedHashCode;
662       }
663       int hash = 41;
664       hash = (19 * hash) + getDescriptor().hashCode();
665       if (hasStartTime()) {
666         hash = (37 * hash) + START_TIME_FIELD_NUMBER;
667         hash = (53 * hash) + getStartTime().hashCode();
668       }
669       if (hasEndTime()) {
670         hash = (37 * hash) + END_TIME_FIELD_NUMBER;
671         hash = (53 * hash) + getEndTime().hashCode();
672       }
673       if (hasTimestampField()) {
674         hash = (37 * hash) + TIMESTAMP_FIELD_FIELD_NUMBER;
675         hash = (53 * hash) + getTimestampField().hashCode();
676       }
677       hash = (37 * hash) + ENABLE_AUTO_POPULATION_OF_TIMESPAN_CONFIG_FIELD_NUMBER;
678       hash =
679           (53 * hash)
680               + com.google.protobuf.Internal.hashBoolean(getEnableAutoPopulationOfTimespanConfig());
681       hash = (29 * hash) + getUnknownFields().hashCode();
682       memoizedHashCode = hash;
683       return hash;
684     }
685 
parseFrom( java.nio.ByteBuffer data)686     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(
687         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
688       return PARSER.parseFrom(data);
689     }
690 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)691     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(
692         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
693         throws com.google.protobuf.InvalidProtocolBufferException {
694       return PARSER.parseFrom(data, extensionRegistry);
695     }
696 
parseFrom( com.google.protobuf.ByteString data)697     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(
698         com.google.protobuf.ByteString data)
699         throws com.google.protobuf.InvalidProtocolBufferException {
700       return PARSER.parseFrom(data);
701     }
702 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)703     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(
704         com.google.protobuf.ByteString data,
705         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
706         throws com.google.protobuf.InvalidProtocolBufferException {
707       return PARSER.parseFrom(data, extensionRegistry);
708     }
709 
parseFrom(byte[] data)710     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(byte[] data)
711         throws com.google.protobuf.InvalidProtocolBufferException {
712       return PARSER.parseFrom(data);
713     }
714 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)715     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(
716         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
717         throws com.google.protobuf.InvalidProtocolBufferException {
718       return PARSER.parseFrom(data, extensionRegistry);
719     }
720 
parseFrom( java.io.InputStream input)721     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(
722         java.io.InputStream input) throws java.io.IOException {
723       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
724     }
725 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)726     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(
727         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
728         throws java.io.IOException {
729       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
730           PARSER, input, extensionRegistry);
731     }
732 
parseDelimitedFrom( java.io.InputStream input)733     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseDelimitedFrom(
734         java.io.InputStream input) throws java.io.IOException {
735       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
736     }
737 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)738     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseDelimitedFrom(
739         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
740         throws java.io.IOException {
741       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
742           PARSER, input, extensionRegistry);
743     }
744 
parseFrom( com.google.protobuf.CodedInputStream input)745     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(
746         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
747       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
748     }
749 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)750     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig parseFrom(
751         com.google.protobuf.CodedInputStream input,
752         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
753         throws java.io.IOException {
754       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
755           PARSER, input, extensionRegistry);
756     }
757 
758     @java.lang.Override
newBuilderForType()759     public Builder newBuilderForType() {
760       return newBuilder();
761     }
762 
newBuilder()763     public static Builder newBuilder() {
764       return DEFAULT_INSTANCE.toBuilder();
765     }
766 
newBuilder( com.google.privacy.dlp.v2.StorageConfig.TimespanConfig prototype)767     public static Builder newBuilder(
768         com.google.privacy.dlp.v2.StorageConfig.TimespanConfig prototype) {
769       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
770     }
771 
772     @java.lang.Override
toBuilder()773     public Builder toBuilder() {
774       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
775     }
776 
777     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)778     protected Builder newBuilderForType(
779         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
780       Builder builder = new Builder(parent);
781       return builder;
782     }
783     /**
784      *
785      *
786      * <pre>
787      * Configuration of the timespan of the items to include in scanning.
788      * Currently only supported when inspecting Cloud Storage and BigQuery.
789      * </pre>
790      *
791      * Protobuf type {@code google.privacy.dlp.v2.StorageConfig.TimespanConfig}
792      */
793     public static final class Builder
794         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
795         implements
796         // @@protoc_insertion_point(builder_implements:google.privacy.dlp.v2.StorageConfig.TimespanConfig)
797         com.google.privacy.dlp.v2.StorageConfig.TimespanConfigOrBuilder {
getDescriptor()798       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
799         return com.google.privacy.dlp.v2.DlpStorage
800             .internal_static_google_privacy_dlp_v2_StorageConfig_TimespanConfig_descriptor;
801       }
802 
803       @java.lang.Override
804       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()805           internalGetFieldAccessorTable() {
806         return com.google.privacy.dlp.v2.DlpStorage
807             .internal_static_google_privacy_dlp_v2_StorageConfig_TimespanConfig_fieldAccessorTable
808             .ensureFieldAccessorsInitialized(
809                 com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.class,
810                 com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.Builder.class);
811       }
812 
813       // Construct using com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.newBuilder()
Builder()814       private Builder() {}
815 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)816       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
817         super(parent);
818       }
819 
820       @java.lang.Override
clear()821       public Builder clear() {
822         super.clear();
823         bitField0_ = 0;
824         startTime_ = null;
825         if (startTimeBuilder_ != null) {
826           startTimeBuilder_.dispose();
827           startTimeBuilder_ = null;
828         }
829         endTime_ = null;
830         if (endTimeBuilder_ != null) {
831           endTimeBuilder_.dispose();
832           endTimeBuilder_ = null;
833         }
834         timestampField_ = null;
835         if (timestampFieldBuilder_ != null) {
836           timestampFieldBuilder_.dispose();
837           timestampFieldBuilder_ = null;
838         }
839         enableAutoPopulationOfTimespanConfig_ = false;
840         return this;
841       }
842 
843       @java.lang.Override
getDescriptorForType()844       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
845         return com.google.privacy.dlp.v2.DlpStorage
846             .internal_static_google_privacy_dlp_v2_StorageConfig_TimespanConfig_descriptor;
847       }
848 
849       @java.lang.Override
getDefaultInstanceForType()850       public com.google.privacy.dlp.v2.StorageConfig.TimespanConfig getDefaultInstanceForType() {
851         return com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.getDefaultInstance();
852       }
853 
854       @java.lang.Override
build()855       public com.google.privacy.dlp.v2.StorageConfig.TimespanConfig build() {
856         com.google.privacy.dlp.v2.StorageConfig.TimespanConfig result = buildPartial();
857         if (!result.isInitialized()) {
858           throw newUninitializedMessageException(result);
859         }
860         return result;
861       }
862 
863       @java.lang.Override
buildPartial()864       public com.google.privacy.dlp.v2.StorageConfig.TimespanConfig buildPartial() {
865         com.google.privacy.dlp.v2.StorageConfig.TimespanConfig result =
866             new com.google.privacy.dlp.v2.StorageConfig.TimespanConfig(this);
867         if (bitField0_ != 0) {
868           buildPartial0(result);
869         }
870         onBuilt();
871         return result;
872       }
873 
buildPartial0(com.google.privacy.dlp.v2.StorageConfig.TimespanConfig result)874       private void buildPartial0(com.google.privacy.dlp.v2.StorageConfig.TimespanConfig result) {
875         int from_bitField0_ = bitField0_;
876         if (((from_bitField0_ & 0x00000001) != 0)) {
877           result.startTime_ = startTimeBuilder_ == null ? startTime_ : startTimeBuilder_.build();
878         }
879         if (((from_bitField0_ & 0x00000002) != 0)) {
880           result.endTime_ = endTimeBuilder_ == null ? endTime_ : endTimeBuilder_.build();
881         }
882         if (((from_bitField0_ & 0x00000004) != 0)) {
883           result.timestampField_ =
884               timestampFieldBuilder_ == null ? timestampField_ : timestampFieldBuilder_.build();
885         }
886         if (((from_bitField0_ & 0x00000008) != 0)) {
887           result.enableAutoPopulationOfTimespanConfig_ = enableAutoPopulationOfTimespanConfig_;
888         }
889       }
890 
891       @java.lang.Override
clone()892       public Builder clone() {
893         return super.clone();
894       }
895 
896       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)897       public Builder setField(
898           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
899         return super.setField(field, value);
900       }
901 
902       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)903       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
904         return super.clearField(field);
905       }
906 
907       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)908       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
909         return super.clearOneof(oneof);
910       }
911 
912       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)913       public Builder setRepeatedField(
914           com.google.protobuf.Descriptors.FieldDescriptor field,
915           int index,
916           java.lang.Object value) {
917         return super.setRepeatedField(field, index, value);
918       }
919 
920       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)921       public Builder addRepeatedField(
922           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
923         return super.addRepeatedField(field, value);
924       }
925 
926       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)927       public Builder mergeFrom(com.google.protobuf.Message other) {
928         if (other instanceof com.google.privacy.dlp.v2.StorageConfig.TimespanConfig) {
929           return mergeFrom((com.google.privacy.dlp.v2.StorageConfig.TimespanConfig) other);
930         } else {
931           super.mergeFrom(other);
932           return this;
933         }
934       }
935 
mergeFrom(com.google.privacy.dlp.v2.StorageConfig.TimespanConfig other)936       public Builder mergeFrom(com.google.privacy.dlp.v2.StorageConfig.TimespanConfig other) {
937         if (other == com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.getDefaultInstance())
938           return this;
939         if (other.hasStartTime()) {
940           mergeStartTime(other.getStartTime());
941         }
942         if (other.hasEndTime()) {
943           mergeEndTime(other.getEndTime());
944         }
945         if (other.hasTimestampField()) {
946           mergeTimestampField(other.getTimestampField());
947         }
948         if (other.getEnableAutoPopulationOfTimespanConfig() != false) {
949           setEnableAutoPopulationOfTimespanConfig(other.getEnableAutoPopulationOfTimespanConfig());
950         }
951         this.mergeUnknownFields(other.getUnknownFields());
952         onChanged();
953         return this;
954       }
955 
956       @java.lang.Override
isInitialized()957       public final boolean isInitialized() {
958         return true;
959       }
960 
961       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)962       public Builder mergeFrom(
963           com.google.protobuf.CodedInputStream input,
964           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
965           throws java.io.IOException {
966         if (extensionRegistry == null) {
967           throw new java.lang.NullPointerException();
968         }
969         try {
970           boolean done = false;
971           while (!done) {
972             int tag = input.readTag();
973             switch (tag) {
974               case 0:
975                 done = true;
976                 break;
977               case 10:
978                 {
979                   input.readMessage(getStartTimeFieldBuilder().getBuilder(), extensionRegistry);
980                   bitField0_ |= 0x00000001;
981                   break;
982                 } // case 10
983               case 18:
984                 {
985                   input.readMessage(getEndTimeFieldBuilder().getBuilder(), extensionRegistry);
986                   bitField0_ |= 0x00000002;
987                   break;
988                 } // case 18
989               case 26:
990                 {
991                   input.readMessage(
992                       getTimestampFieldFieldBuilder().getBuilder(), extensionRegistry);
993                   bitField0_ |= 0x00000004;
994                   break;
995                 } // case 26
996               case 32:
997                 {
998                   enableAutoPopulationOfTimespanConfig_ = input.readBool();
999                   bitField0_ |= 0x00000008;
1000                   break;
1001                 } // case 32
1002               default:
1003                 {
1004                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1005                     done = true; // was an endgroup tag
1006                   }
1007                   break;
1008                 } // default:
1009             } // switch (tag)
1010           } // while (!done)
1011         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1012           throw e.unwrapIOException();
1013         } finally {
1014           onChanged();
1015         } // finally
1016         return this;
1017       }
1018 
1019       private int bitField0_;
1020 
1021       private com.google.protobuf.Timestamp startTime_;
1022       private com.google.protobuf.SingleFieldBuilderV3<
1023               com.google.protobuf.Timestamp,
1024               com.google.protobuf.Timestamp.Builder,
1025               com.google.protobuf.TimestampOrBuilder>
1026           startTimeBuilder_;
1027       /**
1028        *
1029        *
1030        * <pre>
1031        * Exclude files, tables, or rows older than this value.
1032        * If not set, no lower time limit is applied.
1033        * </pre>
1034        *
1035        * <code>.google.protobuf.Timestamp start_time = 1;</code>
1036        *
1037        * @return Whether the startTime field is set.
1038        */
hasStartTime()1039       public boolean hasStartTime() {
1040         return ((bitField0_ & 0x00000001) != 0);
1041       }
1042       /**
1043        *
1044        *
1045        * <pre>
1046        * Exclude files, tables, or rows older than this value.
1047        * If not set, no lower time limit is applied.
1048        * </pre>
1049        *
1050        * <code>.google.protobuf.Timestamp start_time = 1;</code>
1051        *
1052        * @return The startTime.
1053        */
getStartTime()1054       public com.google.protobuf.Timestamp getStartTime() {
1055         if (startTimeBuilder_ == null) {
1056           return startTime_ == null
1057               ? com.google.protobuf.Timestamp.getDefaultInstance()
1058               : startTime_;
1059         } else {
1060           return startTimeBuilder_.getMessage();
1061         }
1062       }
1063       /**
1064        *
1065        *
1066        * <pre>
1067        * Exclude files, tables, or rows older than this value.
1068        * If not set, no lower time limit is applied.
1069        * </pre>
1070        *
1071        * <code>.google.protobuf.Timestamp start_time = 1;</code>
1072        */
setStartTime(com.google.protobuf.Timestamp value)1073       public Builder setStartTime(com.google.protobuf.Timestamp value) {
1074         if (startTimeBuilder_ == null) {
1075           if (value == null) {
1076             throw new NullPointerException();
1077           }
1078           startTime_ = value;
1079         } else {
1080           startTimeBuilder_.setMessage(value);
1081         }
1082         bitField0_ |= 0x00000001;
1083         onChanged();
1084         return this;
1085       }
1086       /**
1087        *
1088        *
1089        * <pre>
1090        * Exclude files, tables, or rows older than this value.
1091        * If not set, no lower time limit is applied.
1092        * </pre>
1093        *
1094        * <code>.google.protobuf.Timestamp start_time = 1;</code>
1095        */
setStartTime(com.google.protobuf.Timestamp.Builder builderForValue)1096       public Builder setStartTime(com.google.protobuf.Timestamp.Builder builderForValue) {
1097         if (startTimeBuilder_ == null) {
1098           startTime_ = builderForValue.build();
1099         } else {
1100           startTimeBuilder_.setMessage(builderForValue.build());
1101         }
1102         bitField0_ |= 0x00000001;
1103         onChanged();
1104         return this;
1105       }
1106       /**
1107        *
1108        *
1109        * <pre>
1110        * Exclude files, tables, or rows older than this value.
1111        * If not set, no lower time limit is applied.
1112        * </pre>
1113        *
1114        * <code>.google.protobuf.Timestamp start_time = 1;</code>
1115        */
mergeStartTime(com.google.protobuf.Timestamp value)1116       public Builder mergeStartTime(com.google.protobuf.Timestamp value) {
1117         if (startTimeBuilder_ == null) {
1118           if (((bitField0_ & 0x00000001) != 0)
1119               && startTime_ != null
1120               && startTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
1121             getStartTimeBuilder().mergeFrom(value);
1122           } else {
1123             startTime_ = value;
1124           }
1125         } else {
1126           startTimeBuilder_.mergeFrom(value);
1127         }
1128         bitField0_ |= 0x00000001;
1129         onChanged();
1130         return this;
1131       }
1132       /**
1133        *
1134        *
1135        * <pre>
1136        * Exclude files, tables, or rows older than this value.
1137        * If not set, no lower time limit is applied.
1138        * </pre>
1139        *
1140        * <code>.google.protobuf.Timestamp start_time = 1;</code>
1141        */
clearStartTime()1142       public Builder clearStartTime() {
1143         bitField0_ = (bitField0_ & ~0x00000001);
1144         startTime_ = null;
1145         if (startTimeBuilder_ != null) {
1146           startTimeBuilder_.dispose();
1147           startTimeBuilder_ = null;
1148         }
1149         onChanged();
1150         return this;
1151       }
1152       /**
1153        *
1154        *
1155        * <pre>
1156        * Exclude files, tables, or rows older than this value.
1157        * If not set, no lower time limit is applied.
1158        * </pre>
1159        *
1160        * <code>.google.protobuf.Timestamp start_time = 1;</code>
1161        */
getStartTimeBuilder()1162       public com.google.protobuf.Timestamp.Builder getStartTimeBuilder() {
1163         bitField0_ |= 0x00000001;
1164         onChanged();
1165         return getStartTimeFieldBuilder().getBuilder();
1166       }
1167       /**
1168        *
1169        *
1170        * <pre>
1171        * Exclude files, tables, or rows older than this value.
1172        * If not set, no lower time limit is applied.
1173        * </pre>
1174        *
1175        * <code>.google.protobuf.Timestamp start_time = 1;</code>
1176        */
getStartTimeOrBuilder()1177       public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder() {
1178         if (startTimeBuilder_ != null) {
1179           return startTimeBuilder_.getMessageOrBuilder();
1180         } else {
1181           return startTime_ == null
1182               ? com.google.protobuf.Timestamp.getDefaultInstance()
1183               : startTime_;
1184         }
1185       }
1186       /**
1187        *
1188        *
1189        * <pre>
1190        * Exclude files, tables, or rows older than this value.
1191        * If not set, no lower time limit is applied.
1192        * </pre>
1193        *
1194        * <code>.google.protobuf.Timestamp start_time = 1;</code>
1195        */
1196       private com.google.protobuf.SingleFieldBuilderV3<
1197               com.google.protobuf.Timestamp,
1198               com.google.protobuf.Timestamp.Builder,
1199               com.google.protobuf.TimestampOrBuilder>
getStartTimeFieldBuilder()1200           getStartTimeFieldBuilder() {
1201         if (startTimeBuilder_ == null) {
1202           startTimeBuilder_ =
1203               new com.google.protobuf.SingleFieldBuilderV3<
1204                   com.google.protobuf.Timestamp,
1205                   com.google.protobuf.Timestamp.Builder,
1206                   com.google.protobuf.TimestampOrBuilder>(
1207                   getStartTime(), getParentForChildren(), isClean());
1208           startTime_ = null;
1209         }
1210         return startTimeBuilder_;
1211       }
1212 
1213       private com.google.protobuf.Timestamp endTime_;
1214       private com.google.protobuf.SingleFieldBuilderV3<
1215               com.google.protobuf.Timestamp,
1216               com.google.protobuf.Timestamp.Builder,
1217               com.google.protobuf.TimestampOrBuilder>
1218           endTimeBuilder_;
1219       /**
1220        *
1221        *
1222        * <pre>
1223        * Exclude files, tables, or rows newer than this value.
1224        * If not set, no upper time limit is applied.
1225        * </pre>
1226        *
1227        * <code>.google.protobuf.Timestamp end_time = 2;</code>
1228        *
1229        * @return Whether the endTime field is set.
1230        */
hasEndTime()1231       public boolean hasEndTime() {
1232         return ((bitField0_ & 0x00000002) != 0);
1233       }
1234       /**
1235        *
1236        *
1237        * <pre>
1238        * Exclude files, tables, or rows newer than this value.
1239        * If not set, no upper time limit is applied.
1240        * </pre>
1241        *
1242        * <code>.google.protobuf.Timestamp end_time = 2;</code>
1243        *
1244        * @return The endTime.
1245        */
getEndTime()1246       public com.google.protobuf.Timestamp getEndTime() {
1247         if (endTimeBuilder_ == null) {
1248           return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_;
1249         } else {
1250           return endTimeBuilder_.getMessage();
1251         }
1252       }
1253       /**
1254        *
1255        *
1256        * <pre>
1257        * Exclude files, tables, or rows newer than this value.
1258        * If not set, no upper time limit is applied.
1259        * </pre>
1260        *
1261        * <code>.google.protobuf.Timestamp end_time = 2;</code>
1262        */
setEndTime(com.google.protobuf.Timestamp value)1263       public Builder setEndTime(com.google.protobuf.Timestamp value) {
1264         if (endTimeBuilder_ == null) {
1265           if (value == null) {
1266             throw new NullPointerException();
1267           }
1268           endTime_ = value;
1269         } else {
1270           endTimeBuilder_.setMessage(value);
1271         }
1272         bitField0_ |= 0x00000002;
1273         onChanged();
1274         return this;
1275       }
1276       /**
1277        *
1278        *
1279        * <pre>
1280        * Exclude files, tables, or rows newer than this value.
1281        * If not set, no upper time limit is applied.
1282        * </pre>
1283        *
1284        * <code>.google.protobuf.Timestamp end_time = 2;</code>
1285        */
setEndTime(com.google.protobuf.Timestamp.Builder builderForValue)1286       public Builder setEndTime(com.google.protobuf.Timestamp.Builder builderForValue) {
1287         if (endTimeBuilder_ == null) {
1288           endTime_ = builderForValue.build();
1289         } else {
1290           endTimeBuilder_.setMessage(builderForValue.build());
1291         }
1292         bitField0_ |= 0x00000002;
1293         onChanged();
1294         return this;
1295       }
1296       /**
1297        *
1298        *
1299        * <pre>
1300        * Exclude files, tables, or rows newer than this value.
1301        * If not set, no upper time limit is applied.
1302        * </pre>
1303        *
1304        * <code>.google.protobuf.Timestamp end_time = 2;</code>
1305        */
mergeEndTime(com.google.protobuf.Timestamp value)1306       public Builder mergeEndTime(com.google.protobuf.Timestamp value) {
1307         if (endTimeBuilder_ == null) {
1308           if (((bitField0_ & 0x00000002) != 0)
1309               && endTime_ != null
1310               && endTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
1311             getEndTimeBuilder().mergeFrom(value);
1312           } else {
1313             endTime_ = value;
1314           }
1315         } else {
1316           endTimeBuilder_.mergeFrom(value);
1317         }
1318         bitField0_ |= 0x00000002;
1319         onChanged();
1320         return this;
1321       }
1322       /**
1323        *
1324        *
1325        * <pre>
1326        * Exclude files, tables, or rows newer than this value.
1327        * If not set, no upper time limit is applied.
1328        * </pre>
1329        *
1330        * <code>.google.protobuf.Timestamp end_time = 2;</code>
1331        */
clearEndTime()1332       public Builder clearEndTime() {
1333         bitField0_ = (bitField0_ & ~0x00000002);
1334         endTime_ = null;
1335         if (endTimeBuilder_ != null) {
1336           endTimeBuilder_.dispose();
1337           endTimeBuilder_ = null;
1338         }
1339         onChanged();
1340         return this;
1341       }
1342       /**
1343        *
1344        *
1345        * <pre>
1346        * Exclude files, tables, or rows newer than this value.
1347        * If not set, no upper time limit is applied.
1348        * </pre>
1349        *
1350        * <code>.google.protobuf.Timestamp end_time = 2;</code>
1351        */
getEndTimeBuilder()1352       public com.google.protobuf.Timestamp.Builder getEndTimeBuilder() {
1353         bitField0_ |= 0x00000002;
1354         onChanged();
1355         return getEndTimeFieldBuilder().getBuilder();
1356       }
1357       /**
1358        *
1359        *
1360        * <pre>
1361        * Exclude files, tables, or rows newer than this value.
1362        * If not set, no upper time limit is applied.
1363        * </pre>
1364        *
1365        * <code>.google.protobuf.Timestamp end_time = 2;</code>
1366        */
getEndTimeOrBuilder()1367       public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() {
1368         if (endTimeBuilder_ != null) {
1369           return endTimeBuilder_.getMessageOrBuilder();
1370         } else {
1371           return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_;
1372         }
1373       }
1374       /**
1375        *
1376        *
1377        * <pre>
1378        * Exclude files, tables, or rows newer than this value.
1379        * If not set, no upper time limit is applied.
1380        * </pre>
1381        *
1382        * <code>.google.protobuf.Timestamp end_time = 2;</code>
1383        */
1384       private com.google.protobuf.SingleFieldBuilderV3<
1385               com.google.protobuf.Timestamp,
1386               com.google.protobuf.Timestamp.Builder,
1387               com.google.protobuf.TimestampOrBuilder>
getEndTimeFieldBuilder()1388           getEndTimeFieldBuilder() {
1389         if (endTimeBuilder_ == null) {
1390           endTimeBuilder_ =
1391               new com.google.protobuf.SingleFieldBuilderV3<
1392                   com.google.protobuf.Timestamp,
1393                   com.google.protobuf.Timestamp.Builder,
1394                   com.google.protobuf.TimestampOrBuilder>(
1395                   getEndTime(), getParentForChildren(), isClean());
1396           endTime_ = null;
1397         }
1398         return endTimeBuilder_;
1399       }
1400 
1401       private com.google.privacy.dlp.v2.FieldId timestampField_;
1402       private com.google.protobuf.SingleFieldBuilderV3<
1403               com.google.privacy.dlp.v2.FieldId,
1404               com.google.privacy.dlp.v2.FieldId.Builder,
1405               com.google.privacy.dlp.v2.FieldIdOrBuilder>
1406           timestampFieldBuilder_;
1407       /**
1408        *
1409        *
1410        * <pre>
1411        * Specification of the field containing the timestamp of scanned items.
1412        * Used for data sources like Datastore and BigQuery.
1413        * &lt;b&gt;For BigQuery&lt;/b&gt;
1414        * If this value is not specified and the table was modified between the
1415        * given start and end times, the entire table will be scanned. If this
1416        * value is specified, then rows are filtered based on the given start and
1417        * end times. Rows with a `NULL` value in the provided BigQuery column are
1418        * skipped.
1419        * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
1420        * `TIMESTAMP`, and `DATETIME`.
1421        * If your BigQuery table is [partitioned at ingestion
1422        * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
1423        * you can use any of the following pseudo-columns as your timestamp field.
1424        * When used with Cloud DLP, these pseudo-column names are case sensitive.
1425        * &lt;ul&gt;
1426        * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
1427        * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
1428        * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
1429        * &lt;/ul&gt;
1430        * &lt;b&gt;For Datastore&lt;/b&gt;
1431        * If this value is specified, then entities are filtered based on the given
1432        * start and end times. If an entity does not contain the provided timestamp
1433        * property or contains empty or invalid values, then it is included.
1434        * Valid data types of the provided timestamp property are: `TIMESTAMP`.
1435        * See the
1436        * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
1437        * related to this operation.
1438        * </pre>
1439        *
1440        * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
1441        *
1442        * @return Whether the timestampField field is set.
1443        */
hasTimestampField()1444       public boolean hasTimestampField() {
1445         return ((bitField0_ & 0x00000004) != 0);
1446       }
1447       /**
1448        *
1449        *
1450        * <pre>
1451        * Specification of the field containing the timestamp of scanned items.
1452        * Used for data sources like Datastore and BigQuery.
1453        * &lt;b&gt;For BigQuery&lt;/b&gt;
1454        * If this value is not specified and the table was modified between the
1455        * given start and end times, the entire table will be scanned. If this
1456        * value is specified, then rows are filtered based on the given start and
1457        * end times. Rows with a `NULL` value in the provided BigQuery column are
1458        * skipped.
1459        * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
1460        * `TIMESTAMP`, and `DATETIME`.
1461        * If your BigQuery table is [partitioned at ingestion
1462        * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
1463        * you can use any of the following pseudo-columns as your timestamp field.
1464        * When used with Cloud DLP, these pseudo-column names are case sensitive.
1465        * &lt;ul&gt;
1466        * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
1467        * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
1468        * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
1469        * &lt;/ul&gt;
1470        * &lt;b&gt;For Datastore&lt;/b&gt;
1471        * If this value is specified, then entities are filtered based on the given
1472        * start and end times. If an entity does not contain the provided timestamp
1473        * property or contains empty or invalid values, then it is included.
1474        * Valid data types of the provided timestamp property are: `TIMESTAMP`.
1475        * See the
1476        * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
1477        * related to this operation.
1478        * </pre>
1479        *
1480        * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
1481        *
1482        * @return The timestampField.
1483        */
getTimestampField()1484       public com.google.privacy.dlp.v2.FieldId getTimestampField() {
1485         if (timestampFieldBuilder_ == null) {
1486           return timestampField_ == null
1487               ? com.google.privacy.dlp.v2.FieldId.getDefaultInstance()
1488               : timestampField_;
1489         } else {
1490           return timestampFieldBuilder_.getMessage();
1491         }
1492       }
1493       /**
1494        *
1495        *
1496        * <pre>
1497        * Specification of the field containing the timestamp of scanned items.
1498        * Used for data sources like Datastore and BigQuery.
1499        * &lt;b&gt;For BigQuery&lt;/b&gt;
1500        * If this value is not specified and the table was modified between the
1501        * given start and end times, the entire table will be scanned. If this
1502        * value is specified, then rows are filtered based on the given start and
1503        * end times. Rows with a `NULL` value in the provided BigQuery column are
1504        * skipped.
1505        * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
1506        * `TIMESTAMP`, and `DATETIME`.
1507        * If your BigQuery table is [partitioned at ingestion
1508        * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
1509        * you can use any of the following pseudo-columns as your timestamp field.
1510        * When used with Cloud DLP, these pseudo-column names are case sensitive.
1511        * &lt;ul&gt;
1512        * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
1513        * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
1514        * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
1515        * &lt;/ul&gt;
1516        * &lt;b&gt;For Datastore&lt;/b&gt;
1517        * If this value is specified, then entities are filtered based on the given
1518        * start and end times. If an entity does not contain the provided timestamp
1519        * property or contains empty or invalid values, then it is included.
1520        * Valid data types of the provided timestamp property are: `TIMESTAMP`.
1521        * See the
1522        * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
1523        * related to this operation.
1524        * </pre>
1525        *
1526        * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
1527        */
setTimestampField(com.google.privacy.dlp.v2.FieldId value)1528       public Builder setTimestampField(com.google.privacy.dlp.v2.FieldId value) {
1529         if (timestampFieldBuilder_ == null) {
1530           if (value == null) {
1531             throw new NullPointerException();
1532           }
1533           timestampField_ = value;
1534         } else {
1535           timestampFieldBuilder_.setMessage(value);
1536         }
1537         bitField0_ |= 0x00000004;
1538         onChanged();
1539         return this;
1540       }
1541       /**
1542        *
1543        *
1544        * <pre>
1545        * Specification of the field containing the timestamp of scanned items.
1546        * Used for data sources like Datastore and BigQuery.
1547        * &lt;b&gt;For BigQuery&lt;/b&gt;
1548        * If this value is not specified and the table was modified between the
1549        * given start and end times, the entire table will be scanned. If this
1550        * value is specified, then rows are filtered based on the given start and
1551        * end times. Rows with a `NULL` value in the provided BigQuery column are
1552        * skipped.
1553        * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
1554        * `TIMESTAMP`, and `DATETIME`.
1555        * If your BigQuery table is [partitioned at ingestion
1556        * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
1557        * you can use any of the following pseudo-columns as your timestamp field.
1558        * When used with Cloud DLP, these pseudo-column names are case sensitive.
1559        * &lt;ul&gt;
1560        * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
1561        * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
1562        * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
1563        * &lt;/ul&gt;
1564        * &lt;b&gt;For Datastore&lt;/b&gt;
1565        * If this value is specified, then entities are filtered based on the given
1566        * start and end times. If an entity does not contain the provided timestamp
1567        * property or contains empty or invalid values, then it is included.
1568        * Valid data types of the provided timestamp property are: `TIMESTAMP`.
1569        * See the
1570        * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
1571        * related to this operation.
1572        * </pre>
1573        *
1574        * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
1575        */
setTimestampField(com.google.privacy.dlp.v2.FieldId.Builder builderForValue)1576       public Builder setTimestampField(com.google.privacy.dlp.v2.FieldId.Builder builderForValue) {
1577         if (timestampFieldBuilder_ == null) {
1578           timestampField_ = builderForValue.build();
1579         } else {
1580           timestampFieldBuilder_.setMessage(builderForValue.build());
1581         }
1582         bitField0_ |= 0x00000004;
1583         onChanged();
1584         return this;
1585       }
1586       /**
1587        *
1588        *
1589        * <pre>
1590        * Specification of the field containing the timestamp of scanned items.
1591        * Used for data sources like Datastore and BigQuery.
1592        * &lt;b&gt;For BigQuery&lt;/b&gt;
1593        * If this value is not specified and the table was modified between the
1594        * given start and end times, the entire table will be scanned. If this
1595        * value is specified, then rows are filtered based on the given start and
1596        * end times. Rows with a `NULL` value in the provided BigQuery column are
1597        * skipped.
1598        * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
1599        * `TIMESTAMP`, and `DATETIME`.
1600        * If your BigQuery table is [partitioned at ingestion
1601        * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
1602        * you can use any of the following pseudo-columns as your timestamp field.
1603        * When used with Cloud DLP, these pseudo-column names are case sensitive.
1604        * &lt;ul&gt;
1605        * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
1606        * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
1607        * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
1608        * &lt;/ul&gt;
1609        * &lt;b&gt;For Datastore&lt;/b&gt;
1610        * If this value is specified, then entities are filtered based on the given
1611        * start and end times. If an entity does not contain the provided timestamp
1612        * property or contains empty or invalid values, then it is included.
1613        * Valid data types of the provided timestamp property are: `TIMESTAMP`.
1614        * See the
1615        * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
1616        * related to this operation.
1617        * </pre>
1618        *
1619        * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
1620        */
mergeTimestampField(com.google.privacy.dlp.v2.FieldId value)1621       public Builder mergeTimestampField(com.google.privacy.dlp.v2.FieldId value) {
1622         if (timestampFieldBuilder_ == null) {
1623           if (((bitField0_ & 0x00000004) != 0)
1624               && timestampField_ != null
1625               && timestampField_ != com.google.privacy.dlp.v2.FieldId.getDefaultInstance()) {
1626             getTimestampFieldBuilder().mergeFrom(value);
1627           } else {
1628             timestampField_ = value;
1629           }
1630         } else {
1631           timestampFieldBuilder_.mergeFrom(value);
1632         }
1633         bitField0_ |= 0x00000004;
1634         onChanged();
1635         return this;
1636       }
1637       /**
1638        *
1639        *
1640        * <pre>
1641        * Specification of the field containing the timestamp of scanned items.
1642        * Used for data sources like Datastore and BigQuery.
1643        * &lt;b&gt;For BigQuery&lt;/b&gt;
1644        * If this value is not specified and the table was modified between the
1645        * given start and end times, the entire table will be scanned. If this
1646        * value is specified, then rows are filtered based on the given start and
1647        * end times. Rows with a `NULL` value in the provided BigQuery column are
1648        * skipped.
1649        * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
1650        * `TIMESTAMP`, and `DATETIME`.
1651        * If your BigQuery table is [partitioned at ingestion
1652        * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
1653        * you can use any of the following pseudo-columns as your timestamp field.
1654        * When used with Cloud DLP, these pseudo-column names are case sensitive.
1655        * &lt;ul&gt;
1656        * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
1657        * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
1658        * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
1659        * &lt;/ul&gt;
1660        * &lt;b&gt;For Datastore&lt;/b&gt;
1661        * If this value is specified, then entities are filtered based on the given
1662        * start and end times. If an entity does not contain the provided timestamp
1663        * property or contains empty or invalid values, then it is included.
1664        * Valid data types of the provided timestamp property are: `TIMESTAMP`.
1665        * See the
1666        * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
1667        * related to this operation.
1668        * </pre>
1669        *
1670        * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
1671        */
clearTimestampField()1672       public Builder clearTimestampField() {
1673         bitField0_ = (bitField0_ & ~0x00000004);
1674         timestampField_ = null;
1675         if (timestampFieldBuilder_ != null) {
1676           timestampFieldBuilder_.dispose();
1677           timestampFieldBuilder_ = null;
1678         }
1679         onChanged();
1680         return this;
1681       }
1682       /**
1683        *
1684        *
1685        * <pre>
1686        * Specification of the field containing the timestamp of scanned items.
1687        * Used for data sources like Datastore and BigQuery.
1688        * &lt;b&gt;For BigQuery&lt;/b&gt;
1689        * If this value is not specified and the table was modified between the
1690        * given start and end times, the entire table will be scanned. If this
1691        * value is specified, then rows are filtered based on the given start and
1692        * end times. Rows with a `NULL` value in the provided BigQuery column are
1693        * skipped.
1694        * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
1695        * `TIMESTAMP`, and `DATETIME`.
1696        * If your BigQuery table is [partitioned at ingestion
1697        * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
1698        * you can use any of the following pseudo-columns as your timestamp field.
1699        * When used with Cloud DLP, these pseudo-column names are case sensitive.
1700        * &lt;ul&gt;
1701        * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
1702        * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
1703        * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
1704        * &lt;/ul&gt;
1705        * &lt;b&gt;For Datastore&lt;/b&gt;
1706        * If this value is specified, then entities are filtered based on the given
1707        * start and end times. If an entity does not contain the provided timestamp
1708        * property or contains empty or invalid values, then it is included.
1709        * Valid data types of the provided timestamp property are: `TIMESTAMP`.
1710        * See the
1711        * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
1712        * related to this operation.
1713        * </pre>
1714        *
1715        * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
1716        */
getTimestampFieldBuilder()1717       public com.google.privacy.dlp.v2.FieldId.Builder getTimestampFieldBuilder() {
1718         bitField0_ |= 0x00000004;
1719         onChanged();
1720         return getTimestampFieldFieldBuilder().getBuilder();
1721       }
1722       /**
1723        *
1724        *
1725        * <pre>
1726        * Specification of the field containing the timestamp of scanned items.
1727        * Used for data sources like Datastore and BigQuery.
1728        * &lt;b&gt;For BigQuery&lt;/b&gt;
1729        * If this value is not specified and the table was modified between the
1730        * given start and end times, the entire table will be scanned. If this
1731        * value is specified, then rows are filtered based on the given start and
1732        * end times. Rows with a `NULL` value in the provided BigQuery column are
1733        * skipped.
1734        * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
1735        * `TIMESTAMP`, and `DATETIME`.
1736        * If your BigQuery table is [partitioned at ingestion
1737        * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
1738        * you can use any of the following pseudo-columns as your timestamp field.
1739        * When used with Cloud DLP, these pseudo-column names are case sensitive.
1740        * &lt;ul&gt;
1741        * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
1742        * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
1743        * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
1744        * &lt;/ul&gt;
1745        * &lt;b&gt;For Datastore&lt;/b&gt;
1746        * If this value is specified, then entities are filtered based on the given
1747        * start and end times. If an entity does not contain the provided timestamp
1748        * property or contains empty or invalid values, then it is included.
1749        * Valid data types of the provided timestamp property are: `TIMESTAMP`.
1750        * See the
1751        * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
1752        * related to this operation.
1753        * </pre>
1754        *
1755        * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
1756        */
getTimestampFieldOrBuilder()1757       public com.google.privacy.dlp.v2.FieldIdOrBuilder getTimestampFieldOrBuilder() {
1758         if (timestampFieldBuilder_ != null) {
1759           return timestampFieldBuilder_.getMessageOrBuilder();
1760         } else {
1761           return timestampField_ == null
1762               ? com.google.privacy.dlp.v2.FieldId.getDefaultInstance()
1763               : timestampField_;
1764         }
1765       }
1766       /**
1767        *
1768        *
1769        * <pre>
1770        * Specification of the field containing the timestamp of scanned items.
1771        * Used for data sources like Datastore and BigQuery.
1772        * &lt;b&gt;For BigQuery&lt;/b&gt;
1773        * If this value is not specified and the table was modified between the
1774        * given start and end times, the entire table will be scanned. If this
1775        * value is specified, then rows are filtered based on the given start and
1776        * end times. Rows with a `NULL` value in the provided BigQuery column are
1777        * skipped.
1778        * Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
1779        * `TIMESTAMP`, and `DATETIME`.
1780        * If your BigQuery table is [partitioned at ingestion
1781        * time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time),
1782        * you can use any of the following pseudo-columns as your timestamp field.
1783        * When used with Cloud DLP, these pseudo-column names are case sensitive.
1784        * &lt;ul&gt;
1785        * &lt;li&gt;&lt;code&gt;_PARTITIONTIME&lt;/code&gt;&lt;/li&gt;
1786        * &lt;li&gt;&lt;code&gt;_PARTITIONDATE&lt;/code&gt;&lt;/li&gt;
1787        * &lt;li&gt;&lt;code&gt;_PARTITION_LOAD_TIME&lt;/code&gt;&lt;/li&gt;
1788        * &lt;/ul&gt;
1789        * &lt;b&gt;For Datastore&lt;/b&gt;
1790        * If this value is specified, then entities are filtered based on the given
1791        * start and end times. If an entity does not contain the provided timestamp
1792        * property or contains empty or invalid values, then it is included.
1793        * Valid data types of the provided timestamp property are: `TIMESTAMP`.
1794        * See the
1795        * [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan)
1796        * related to this operation.
1797        * </pre>
1798        *
1799        * <code>.google.privacy.dlp.v2.FieldId timestamp_field = 3;</code>
1800        */
1801       private com.google.protobuf.SingleFieldBuilderV3<
1802               com.google.privacy.dlp.v2.FieldId,
1803               com.google.privacy.dlp.v2.FieldId.Builder,
1804               com.google.privacy.dlp.v2.FieldIdOrBuilder>
getTimestampFieldFieldBuilder()1805           getTimestampFieldFieldBuilder() {
1806         if (timestampFieldBuilder_ == null) {
1807           timestampFieldBuilder_ =
1808               new com.google.protobuf.SingleFieldBuilderV3<
1809                   com.google.privacy.dlp.v2.FieldId,
1810                   com.google.privacy.dlp.v2.FieldId.Builder,
1811                   com.google.privacy.dlp.v2.FieldIdOrBuilder>(
1812                   getTimestampField(), getParentForChildren(), isClean());
1813           timestampField_ = null;
1814         }
1815         return timestampFieldBuilder_;
1816       }
1817 
1818       private boolean enableAutoPopulationOfTimespanConfig_;
1819       /**
1820        *
1821        *
1822        * <pre>
1823        * When the job is started by a JobTrigger we will automatically figure out
1824        * a valid start_time to avoid scanning files that have not been modified
1825        * since the last time the JobTrigger executed. This will be based on the
1826        * time of the execution of the last run of the JobTrigger or the timespan
1827        * end_time used in the last run of the JobTrigger.
1828        * </pre>
1829        *
1830        * <code>bool enable_auto_population_of_timespan_config = 4;</code>
1831        *
1832        * @return The enableAutoPopulationOfTimespanConfig.
1833        */
1834       @java.lang.Override
getEnableAutoPopulationOfTimespanConfig()1835       public boolean getEnableAutoPopulationOfTimespanConfig() {
1836         return enableAutoPopulationOfTimespanConfig_;
1837       }
1838       /**
1839        *
1840        *
1841        * <pre>
1842        * When the job is started by a JobTrigger we will automatically figure out
1843        * a valid start_time to avoid scanning files that have not been modified
1844        * since the last time the JobTrigger executed. This will be based on the
1845        * time of the execution of the last run of the JobTrigger or the timespan
1846        * end_time used in the last run of the JobTrigger.
1847        * </pre>
1848        *
1849        * <code>bool enable_auto_population_of_timespan_config = 4;</code>
1850        *
1851        * @param value The enableAutoPopulationOfTimespanConfig to set.
1852        * @return This builder for chaining.
1853        */
setEnableAutoPopulationOfTimespanConfig(boolean value)1854       public Builder setEnableAutoPopulationOfTimespanConfig(boolean value) {
1855 
1856         enableAutoPopulationOfTimespanConfig_ = value;
1857         bitField0_ |= 0x00000008;
1858         onChanged();
1859         return this;
1860       }
1861       /**
1862        *
1863        *
1864        * <pre>
1865        * When the job is started by a JobTrigger we will automatically figure out
1866        * a valid start_time to avoid scanning files that have not been modified
1867        * since the last time the JobTrigger executed. This will be based on the
1868        * time of the execution of the last run of the JobTrigger or the timespan
1869        * end_time used in the last run of the JobTrigger.
1870        * </pre>
1871        *
1872        * <code>bool enable_auto_population_of_timespan_config = 4;</code>
1873        *
1874        * @return This builder for chaining.
1875        */
clearEnableAutoPopulationOfTimespanConfig()1876       public Builder clearEnableAutoPopulationOfTimespanConfig() {
1877         bitField0_ = (bitField0_ & ~0x00000008);
1878         enableAutoPopulationOfTimespanConfig_ = false;
1879         onChanged();
1880         return this;
1881       }
1882 
1883       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1884       public final Builder setUnknownFields(
1885           final com.google.protobuf.UnknownFieldSet unknownFields) {
1886         return super.setUnknownFields(unknownFields);
1887       }
1888 
1889       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1890       public final Builder mergeUnknownFields(
1891           final com.google.protobuf.UnknownFieldSet unknownFields) {
1892         return super.mergeUnknownFields(unknownFields);
1893       }
1894 
1895       // @@protoc_insertion_point(builder_scope:google.privacy.dlp.v2.StorageConfig.TimespanConfig)
1896     }
1897 
1898     // @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.StorageConfig.TimespanConfig)
1899     private static final com.google.privacy.dlp.v2.StorageConfig.TimespanConfig DEFAULT_INSTANCE;
1900 
1901     static {
1902       DEFAULT_INSTANCE = new com.google.privacy.dlp.v2.StorageConfig.TimespanConfig();
1903     }
1904 
getDefaultInstance()1905     public static com.google.privacy.dlp.v2.StorageConfig.TimespanConfig getDefaultInstance() {
1906       return DEFAULT_INSTANCE;
1907     }
1908 
1909     private static final com.google.protobuf.Parser<TimespanConfig> PARSER =
1910         new com.google.protobuf.AbstractParser<TimespanConfig>() {
1911           @java.lang.Override
1912           public TimespanConfig parsePartialFrom(
1913               com.google.protobuf.CodedInputStream input,
1914               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1915               throws com.google.protobuf.InvalidProtocolBufferException {
1916             Builder builder = newBuilder();
1917             try {
1918               builder.mergeFrom(input, extensionRegistry);
1919             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1920               throw e.setUnfinishedMessage(builder.buildPartial());
1921             } catch (com.google.protobuf.UninitializedMessageException e) {
1922               throw e.asInvalidProtocolBufferException()
1923                   .setUnfinishedMessage(builder.buildPartial());
1924             } catch (java.io.IOException e) {
1925               throw new com.google.protobuf.InvalidProtocolBufferException(e)
1926                   .setUnfinishedMessage(builder.buildPartial());
1927             }
1928             return builder.buildPartial();
1929           }
1930         };
1931 
parser()1932     public static com.google.protobuf.Parser<TimespanConfig> parser() {
1933       return PARSER;
1934     }
1935 
1936     @java.lang.Override
getParserForType()1937     public com.google.protobuf.Parser<TimespanConfig> getParserForType() {
1938       return PARSER;
1939     }
1940 
1941     @java.lang.Override
getDefaultInstanceForType()1942     public com.google.privacy.dlp.v2.StorageConfig.TimespanConfig getDefaultInstanceForType() {
1943       return DEFAULT_INSTANCE;
1944     }
1945   }
1946 
1947   private int typeCase_ = 0;
1948   private java.lang.Object type_;
1949 
1950   public enum TypeCase
1951       implements
1952           com.google.protobuf.Internal.EnumLite,
1953           com.google.protobuf.AbstractMessage.InternalOneOfEnum {
1954     DATASTORE_OPTIONS(2),
1955     CLOUD_STORAGE_OPTIONS(3),
1956     BIG_QUERY_OPTIONS(4),
1957     HYBRID_OPTIONS(9),
1958     TYPE_NOT_SET(0);
1959     private final int value;
1960 
TypeCase(int value)1961     private TypeCase(int value) {
1962       this.value = value;
1963     }
1964     /**
1965      * @param value The number of the enum to look for.
1966      * @return The enum associated with the given number.
1967      * @deprecated Use {@link #forNumber(int)} instead.
1968      */
1969     @java.lang.Deprecated
valueOf(int value)1970     public static TypeCase valueOf(int value) {
1971       return forNumber(value);
1972     }
1973 
forNumber(int value)1974     public static TypeCase forNumber(int value) {
1975       switch (value) {
1976         case 2:
1977           return DATASTORE_OPTIONS;
1978         case 3:
1979           return CLOUD_STORAGE_OPTIONS;
1980         case 4:
1981           return BIG_QUERY_OPTIONS;
1982         case 9:
1983           return HYBRID_OPTIONS;
1984         case 0:
1985           return TYPE_NOT_SET;
1986         default:
1987           return null;
1988       }
1989     }
1990 
getNumber()1991     public int getNumber() {
1992       return this.value;
1993     }
1994   };
1995 
getTypeCase()1996   public TypeCase getTypeCase() {
1997     return TypeCase.forNumber(typeCase_);
1998   }
1999 
2000   public static final int DATASTORE_OPTIONS_FIELD_NUMBER = 2;
2001   /**
2002    *
2003    *
2004    * <pre>
2005    * Google Cloud Datastore options.
2006    * </pre>
2007    *
2008    * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2009    *
2010    * @return Whether the datastoreOptions field is set.
2011    */
2012   @java.lang.Override
hasDatastoreOptions()2013   public boolean hasDatastoreOptions() {
2014     return typeCase_ == 2;
2015   }
2016   /**
2017    *
2018    *
2019    * <pre>
2020    * Google Cloud Datastore options.
2021    * </pre>
2022    *
2023    * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2024    *
2025    * @return The datastoreOptions.
2026    */
2027   @java.lang.Override
getDatastoreOptions()2028   public com.google.privacy.dlp.v2.DatastoreOptions getDatastoreOptions() {
2029     if (typeCase_ == 2) {
2030       return (com.google.privacy.dlp.v2.DatastoreOptions) type_;
2031     }
2032     return com.google.privacy.dlp.v2.DatastoreOptions.getDefaultInstance();
2033   }
2034   /**
2035    *
2036    *
2037    * <pre>
2038    * Google Cloud Datastore options.
2039    * </pre>
2040    *
2041    * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2042    */
2043   @java.lang.Override
getDatastoreOptionsOrBuilder()2044   public com.google.privacy.dlp.v2.DatastoreOptionsOrBuilder getDatastoreOptionsOrBuilder() {
2045     if (typeCase_ == 2) {
2046       return (com.google.privacy.dlp.v2.DatastoreOptions) type_;
2047     }
2048     return com.google.privacy.dlp.v2.DatastoreOptions.getDefaultInstance();
2049   }
2050 
2051   public static final int CLOUD_STORAGE_OPTIONS_FIELD_NUMBER = 3;
2052   /**
2053    *
2054    *
2055    * <pre>
2056    * Cloud Storage options.
2057    * </pre>
2058    *
2059    * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
2060    *
2061    * @return Whether the cloudStorageOptions field is set.
2062    */
2063   @java.lang.Override
hasCloudStorageOptions()2064   public boolean hasCloudStorageOptions() {
2065     return typeCase_ == 3;
2066   }
2067   /**
2068    *
2069    *
2070    * <pre>
2071    * Cloud Storage options.
2072    * </pre>
2073    *
2074    * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
2075    *
2076    * @return The cloudStorageOptions.
2077    */
2078   @java.lang.Override
getCloudStorageOptions()2079   public com.google.privacy.dlp.v2.CloudStorageOptions getCloudStorageOptions() {
2080     if (typeCase_ == 3) {
2081       return (com.google.privacy.dlp.v2.CloudStorageOptions) type_;
2082     }
2083     return com.google.privacy.dlp.v2.CloudStorageOptions.getDefaultInstance();
2084   }
2085   /**
2086    *
2087    *
2088    * <pre>
2089    * Cloud Storage options.
2090    * </pre>
2091    *
2092    * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
2093    */
2094   @java.lang.Override
getCloudStorageOptionsOrBuilder()2095   public com.google.privacy.dlp.v2.CloudStorageOptionsOrBuilder getCloudStorageOptionsOrBuilder() {
2096     if (typeCase_ == 3) {
2097       return (com.google.privacy.dlp.v2.CloudStorageOptions) type_;
2098     }
2099     return com.google.privacy.dlp.v2.CloudStorageOptions.getDefaultInstance();
2100   }
2101 
2102   public static final int BIG_QUERY_OPTIONS_FIELD_NUMBER = 4;
2103   /**
2104    *
2105    *
2106    * <pre>
2107    * BigQuery options.
2108    * </pre>
2109    *
2110    * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
2111    *
2112    * @return Whether the bigQueryOptions field is set.
2113    */
2114   @java.lang.Override
hasBigQueryOptions()2115   public boolean hasBigQueryOptions() {
2116     return typeCase_ == 4;
2117   }
2118   /**
2119    *
2120    *
2121    * <pre>
2122    * BigQuery options.
2123    * </pre>
2124    *
2125    * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
2126    *
2127    * @return The bigQueryOptions.
2128    */
2129   @java.lang.Override
getBigQueryOptions()2130   public com.google.privacy.dlp.v2.BigQueryOptions getBigQueryOptions() {
2131     if (typeCase_ == 4) {
2132       return (com.google.privacy.dlp.v2.BigQueryOptions) type_;
2133     }
2134     return com.google.privacy.dlp.v2.BigQueryOptions.getDefaultInstance();
2135   }
2136   /**
2137    *
2138    *
2139    * <pre>
2140    * BigQuery options.
2141    * </pre>
2142    *
2143    * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
2144    */
2145   @java.lang.Override
getBigQueryOptionsOrBuilder()2146   public com.google.privacy.dlp.v2.BigQueryOptionsOrBuilder getBigQueryOptionsOrBuilder() {
2147     if (typeCase_ == 4) {
2148       return (com.google.privacy.dlp.v2.BigQueryOptions) type_;
2149     }
2150     return com.google.privacy.dlp.v2.BigQueryOptions.getDefaultInstance();
2151   }
2152 
2153   public static final int HYBRID_OPTIONS_FIELD_NUMBER = 9;
2154   /**
2155    *
2156    *
2157    * <pre>
2158    * Hybrid inspection options.
2159    * </pre>
2160    *
2161    * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
2162    *
2163    * @return Whether the hybridOptions field is set.
2164    */
2165   @java.lang.Override
hasHybridOptions()2166   public boolean hasHybridOptions() {
2167     return typeCase_ == 9;
2168   }
2169   /**
2170    *
2171    *
2172    * <pre>
2173    * Hybrid inspection options.
2174    * </pre>
2175    *
2176    * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
2177    *
2178    * @return The hybridOptions.
2179    */
2180   @java.lang.Override
getHybridOptions()2181   public com.google.privacy.dlp.v2.HybridOptions getHybridOptions() {
2182     if (typeCase_ == 9) {
2183       return (com.google.privacy.dlp.v2.HybridOptions) type_;
2184     }
2185     return com.google.privacy.dlp.v2.HybridOptions.getDefaultInstance();
2186   }
2187   /**
2188    *
2189    *
2190    * <pre>
2191    * Hybrid inspection options.
2192    * </pre>
2193    *
2194    * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
2195    */
2196   @java.lang.Override
getHybridOptionsOrBuilder()2197   public com.google.privacy.dlp.v2.HybridOptionsOrBuilder getHybridOptionsOrBuilder() {
2198     if (typeCase_ == 9) {
2199       return (com.google.privacy.dlp.v2.HybridOptions) type_;
2200     }
2201     return com.google.privacy.dlp.v2.HybridOptions.getDefaultInstance();
2202   }
2203 
2204   public static final int TIMESPAN_CONFIG_FIELD_NUMBER = 6;
2205   private com.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespanConfig_;
2206   /**
2207    * <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code>
2208    *
2209    * @return Whether the timespanConfig field is set.
2210    */
2211   @java.lang.Override
hasTimespanConfig()2212   public boolean hasTimespanConfig() {
2213     return timespanConfig_ != null;
2214   }
2215   /**
2216    * <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code>
2217    *
2218    * @return The timespanConfig.
2219    */
2220   @java.lang.Override
getTimespanConfig()2221   public com.google.privacy.dlp.v2.StorageConfig.TimespanConfig getTimespanConfig() {
2222     return timespanConfig_ == null
2223         ? com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.getDefaultInstance()
2224         : timespanConfig_;
2225   }
2226   /** <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code> */
2227   @java.lang.Override
2228   public com.google.privacy.dlp.v2.StorageConfig.TimespanConfigOrBuilder
getTimespanConfigOrBuilder()2229       getTimespanConfigOrBuilder() {
2230     return timespanConfig_ == null
2231         ? com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.getDefaultInstance()
2232         : timespanConfig_;
2233   }
2234 
2235   private byte memoizedIsInitialized = -1;
2236 
2237   @java.lang.Override
isInitialized()2238   public final boolean isInitialized() {
2239     byte isInitialized = memoizedIsInitialized;
2240     if (isInitialized == 1) return true;
2241     if (isInitialized == 0) return false;
2242 
2243     memoizedIsInitialized = 1;
2244     return true;
2245   }
2246 
2247   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)2248   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
2249     if (typeCase_ == 2) {
2250       output.writeMessage(2, (com.google.privacy.dlp.v2.DatastoreOptions) type_);
2251     }
2252     if (typeCase_ == 3) {
2253       output.writeMessage(3, (com.google.privacy.dlp.v2.CloudStorageOptions) type_);
2254     }
2255     if (typeCase_ == 4) {
2256       output.writeMessage(4, (com.google.privacy.dlp.v2.BigQueryOptions) type_);
2257     }
2258     if (timespanConfig_ != null) {
2259       output.writeMessage(6, getTimespanConfig());
2260     }
2261     if (typeCase_ == 9) {
2262       output.writeMessage(9, (com.google.privacy.dlp.v2.HybridOptions) type_);
2263     }
2264     getUnknownFields().writeTo(output);
2265   }
2266 
2267   @java.lang.Override
getSerializedSize()2268   public int getSerializedSize() {
2269     int size = memoizedSize;
2270     if (size != -1) return size;
2271 
2272     size = 0;
2273     if (typeCase_ == 2) {
2274       size +=
2275           com.google.protobuf.CodedOutputStream.computeMessageSize(
2276               2, (com.google.privacy.dlp.v2.DatastoreOptions) type_);
2277     }
2278     if (typeCase_ == 3) {
2279       size +=
2280           com.google.protobuf.CodedOutputStream.computeMessageSize(
2281               3, (com.google.privacy.dlp.v2.CloudStorageOptions) type_);
2282     }
2283     if (typeCase_ == 4) {
2284       size +=
2285           com.google.protobuf.CodedOutputStream.computeMessageSize(
2286               4, (com.google.privacy.dlp.v2.BigQueryOptions) type_);
2287     }
2288     if (timespanConfig_ != null) {
2289       size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getTimespanConfig());
2290     }
2291     if (typeCase_ == 9) {
2292       size +=
2293           com.google.protobuf.CodedOutputStream.computeMessageSize(
2294               9, (com.google.privacy.dlp.v2.HybridOptions) type_);
2295     }
2296     size += getUnknownFields().getSerializedSize();
2297     memoizedSize = size;
2298     return size;
2299   }
2300 
2301   @java.lang.Override
equals(final java.lang.Object obj)2302   public boolean equals(final java.lang.Object obj) {
2303     if (obj == this) {
2304       return true;
2305     }
2306     if (!(obj instanceof com.google.privacy.dlp.v2.StorageConfig)) {
2307       return super.equals(obj);
2308     }
2309     com.google.privacy.dlp.v2.StorageConfig other = (com.google.privacy.dlp.v2.StorageConfig) obj;
2310 
2311     if (hasTimespanConfig() != other.hasTimespanConfig()) return false;
2312     if (hasTimespanConfig()) {
2313       if (!getTimespanConfig().equals(other.getTimespanConfig())) return false;
2314     }
2315     if (!getTypeCase().equals(other.getTypeCase())) return false;
2316     switch (typeCase_) {
2317       case 2:
2318         if (!getDatastoreOptions().equals(other.getDatastoreOptions())) return false;
2319         break;
2320       case 3:
2321         if (!getCloudStorageOptions().equals(other.getCloudStorageOptions())) return false;
2322         break;
2323       case 4:
2324         if (!getBigQueryOptions().equals(other.getBigQueryOptions())) return false;
2325         break;
2326       case 9:
2327         if (!getHybridOptions().equals(other.getHybridOptions())) return false;
2328         break;
2329       case 0:
2330       default:
2331     }
2332     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
2333     return true;
2334   }
2335 
2336   @java.lang.Override
hashCode()2337   public int hashCode() {
2338     if (memoizedHashCode != 0) {
2339       return memoizedHashCode;
2340     }
2341     int hash = 41;
2342     hash = (19 * hash) + getDescriptor().hashCode();
2343     if (hasTimespanConfig()) {
2344       hash = (37 * hash) + TIMESPAN_CONFIG_FIELD_NUMBER;
2345       hash = (53 * hash) + getTimespanConfig().hashCode();
2346     }
2347     switch (typeCase_) {
2348       case 2:
2349         hash = (37 * hash) + DATASTORE_OPTIONS_FIELD_NUMBER;
2350         hash = (53 * hash) + getDatastoreOptions().hashCode();
2351         break;
2352       case 3:
2353         hash = (37 * hash) + CLOUD_STORAGE_OPTIONS_FIELD_NUMBER;
2354         hash = (53 * hash) + getCloudStorageOptions().hashCode();
2355         break;
2356       case 4:
2357         hash = (37 * hash) + BIG_QUERY_OPTIONS_FIELD_NUMBER;
2358         hash = (53 * hash) + getBigQueryOptions().hashCode();
2359         break;
2360       case 9:
2361         hash = (37 * hash) + HYBRID_OPTIONS_FIELD_NUMBER;
2362         hash = (53 * hash) + getHybridOptions().hashCode();
2363         break;
2364       case 0:
2365       default:
2366     }
2367     hash = (29 * hash) + getUnknownFields().hashCode();
2368     memoizedHashCode = hash;
2369     return hash;
2370   }
2371 
parseFrom(java.nio.ByteBuffer data)2372   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(java.nio.ByteBuffer data)
2373       throws com.google.protobuf.InvalidProtocolBufferException {
2374     return PARSER.parseFrom(data);
2375   }
2376 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2377   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(
2378       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2379       throws com.google.protobuf.InvalidProtocolBufferException {
2380     return PARSER.parseFrom(data, extensionRegistry);
2381   }
2382 
parseFrom( com.google.protobuf.ByteString data)2383   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(
2384       com.google.protobuf.ByteString data)
2385       throws com.google.protobuf.InvalidProtocolBufferException {
2386     return PARSER.parseFrom(data);
2387   }
2388 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2389   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(
2390       com.google.protobuf.ByteString data,
2391       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2392       throws com.google.protobuf.InvalidProtocolBufferException {
2393     return PARSER.parseFrom(data, extensionRegistry);
2394   }
2395 
parseFrom(byte[] data)2396   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(byte[] data)
2397       throws com.google.protobuf.InvalidProtocolBufferException {
2398     return PARSER.parseFrom(data);
2399   }
2400 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2401   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(
2402       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2403       throws com.google.protobuf.InvalidProtocolBufferException {
2404     return PARSER.parseFrom(data, extensionRegistry);
2405   }
2406 
parseFrom(java.io.InputStream input)2407   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(java.io.InputStream input)
2408       throws java.io.IOException {
2409     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
2410   }
2411 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2412   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(
2413       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2414       throws java.io.IOException {
2415     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2416         PARSER, input, extensionRegistry);
2417   }
2418 
parseDelimitedFrom( java.io.InputStream input)2419   public static com.google.privacy.dlp.v2.StorageConfig parseDelimitedFrom(
2420       java.io.InputStream input) throws java.io.IOException {
2421     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
2422   }
2423 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2424   public static com.google.privacy.dlp.v2.StorageConfig parseDelimitedFrom(
2425       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2426       throws java.io.IOException {
2427     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
2428         PARSER, input, extensionRegistry);
2429   }
2430 
parseFrom( com.google.protobuf.CodedInputStream input)2431   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(
2432       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
2433     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
2434   }
2435 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2436   public static com.google.privacy.dlp.v2.StorageConfig parseFrom(
2437       com.google.protobuf.CodedInputStream input,
2438       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2439       throws java.io.IOException {
2440     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2441         PARSER, input, extensionRegistry);
2442   }
2443 
2444   @java.lang.Override
newBuilderForType()2445   public Builder newBuilderForType() {
2446     return newBuilder();
2447   }
2448 
newBuilder()2449   public static Builder newBuilder() {
2450     return DEFAULT_INSTANCE.toBuilder();
2451   }
2452 
newBuilder(com.google.privacy.dlp.v2.StorageConfig prototype)2453   public static Builder newBuilder(com.google.privacy.dlp.v2.StorageConfig prototype) {
2454     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2455   }
2456 
2457   @java.lang.Override
toBuilder()2458   public Builder toBuilder() {
2459     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
2460   }
2461 
2462   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2463   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2464     Builder builder = new Builder(parent);
2465     return builder;
2466   }
2467   /**
2468    *
2469    *
2470    * <pre>
2471    * Shared message indicating Cloud storage type.
2472    * </pre>
2473    *
2474    * Protobuf type {@code google.privacy.dlp.v2.StorageConfig}
2475    */
2476   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
2477       implements
2478       // @@protoc_insertion_point(builder_implements:google.privacy.dlp.v2.StorageConfig)
2479       com.google.privacy.dlp.v2.StorageConfigOrBuilder {
getDescriptor()2480     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
2481       return com.google.privacy.dlp.v2.DlpStorage
2482           .internal_static_google_privacy_dlp_v2_StorageConfig_descriptor;
2483     }
2484 
2485     @java.lang.Override
2486     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()2487         internalGetFieldAccessorTable() {
2488       return com.google.privacy.dlp.v2.DlpStorage
2489           .internal_static_google_privacy_dlp_v2_StorageConfig_fieldAccessorTable
2490           .ensureFieldAccessorsInitialized(
2491               com.google.privacy.dlp.v2.StorageConfig.class,
2492               com.google.privacy.dlp.v2.StorageConfig.Builder.class);
2493     }
2494 
2495     // Construct using com.google.privacy.dlp.v2.StorageConfig.newBuilder()
Builder()2496     private Builder() {}
2497 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2498     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2499       super(parent);
2500     }
2501 
2502     @java.lang.Override
clear()2503     public Builder clear() {
2504       super.clear();
2505       bitField0_ = 0;
2506       if (datastoreOptionsBuilder_ != null) {
2507         datastoreOptionsBuilder_.clear();
2508       }
2509       if (cloudStorageOptionsBuilder_ != null) {
2510         cloudStorageOptionsBuilder_.clear();
2511       }
2512       if (bigQueryOptionsBuilder_ != null) {
2513         bigQueryOptionsBuilder_.clear();
2514       }
2515       if (hybridOptionsBuilder_ != null) {
2516         hybridOptionsBuilder_.clear();
2517       }
2518       timespanConfig_ = null;
2519       if (timespanConfigBuilder_ != null) {
2520         timespanConfigBuilder_.dispose();
2521         timespanConfigBuilder_ = null;
2522       }
2523       typeCase_ = 0;
2524       type_ = null;
2525       return this;
2526     }
2527 
2528     @java.lang.Override
getDescriptorForType()2529     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
2530       return com.google.privacy.dlp.v2.DlpStorage
2531           .internal_static_google_privacy_dlp_v2_StorageConfig_descriptor;
2532     }
2533 
2534     @java.lang.Override
getDefaultInstanceForType()2535     public com.google.privacy.dlp.v2.StorageConfig getDefaultInstanceForType() {
2536       return com.google.privacy.dlp.v2.StorageConfig.getDefaultInstance();
2537     }
2538 
2539     @java.lang.Override
build()2540     public com.google.privacy.dlp.v2.StorageConfig build() {
2541       com.google.privacy.dlp.v2.StorageConfig result = buildPartial();
2542       if (!result.isInitialized()) {
2543         throw newUninitializedMessageException(result);
2544       }
2545       return result;
2546     }
2547 
2548     @java.lang.Override
buildPartial()2549     public com.google.privacy.dlp.v2.StorageConfig buildPartial() {
2550       com.google.privacy.dlp.v2.StorageConfig result =
2551           new com.google.privacy.dlp.v2.StorageConfig(this);
2552       if (bitField0_ != 0) {
2553         buildPartial0(result);
2554       }
2555       buildPartialOneofs(result);
2556       onBuilt();
2557       return result;
2558     }
2559 
buildPartial0(com.google.privacy.dlp.v2.StorageConfig result)2560     private void buildPartial0(com.google.privacy.dlp.v2.StorageConfig result) {
2561       int from_bitField0_ = bitField0_;
2562       if (((from_bitField0_ & 0x00000010) != 0)) {
2563         result.timespanConfig_ =
2564             timespanConfigBuilder_ == null ? timespanConfig_ : timespanConfigBuilder_.build();
2565       }
2566     }
2567 
buildPartialOneofs(com.google.privacy.dlp.v2.StorageConfig result)2568     private void buildPartialOneofs(com.google.privacy.dlp.v2.StorageConfig result) {
2569       result.typeCase_ = typeCase_;
2570       result.type_ = this.type_;
2571       if (typeCase_ == 2 && datastoreOptionsBuilder_ != null) {
2572         result.type_ = datastoreOptionsBuilder_.build();
2573       }
2574       if (typeCase_ == 3 && cloudStorageOptionsBuilder_ != null) {
2575         result.type_ = cloudStorageOptionsBuilder_.build();
2576       }
2577       if (typeCase_ == 4 && bigQueryOptionsBuilder_ != null) {
2578         result.type_ = bigQueryOptionsBuilder_.build();
2579       }
2580       if (typeCase_ == 9 && hybridOptionsBuilder_ != null) {
2581         result.type_ = hybridOptionsBuilder_.build();
2582       }
2583     }
2584 
2585     @java.lang.Override
clone()2586     public Builder clone() {
2587       return super.clone();
2588     }
2589 
2590     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2591     public Builder setField(
2592         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2593       return super.setField(field, value);
2594     }
2595 
2596     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)2597     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
2598       return super.clearField(field);
2599     }
2600 
2601     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)2602     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2603       return super.clearOneof(oneof);
2604     }
2605 
2606     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)2607     public Builder setRepeatedField(
2608         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
2609       return super.setRepeatedField(field, index, value);
2610     }
2611 
2612     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2613     public Builder addRepeatedField(
2614         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2615       return super.addRepeatedField(field, value);
2616     }
2617 
2618     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)2619     public Builder mergeFrom(com.google.protobuf.Message other) {
2620       if (other instanceof com.google.privacy.dlp.v2.StorageConfig) {
2621         return mergeFrom((com.google.privacy.dlp.v2.StorageConfig) other);
2622       } else {
2623         super.mergeFrom(other);
2624         return this;
2625       }
2626     }
2627 
mergeFrom(com.google.privacy.dlp.v2.StorageConfig other)2628     public Builder mergeFrom(com.google.privacy.dlp.v2.StorageConfig other) {
2629       if (other == com.google.privacy.dlp.v2.StorageConfig.getDefaultInstance()) return this;
2630       if (other.hasTimespanConfig()) {
2631         mergeTimespanConfig(other.getTimespanConfig());
2632       }
2633       switch (other.getTypeCase()) {
2634         case DATASTORE_OPTIONS:
2635           {
2636             mergeDatastoreOptions(other.getDatastoreOptions());
2637             break;
2638           }
2639         case CLOUD_STORAGE_OPTIONS:
2640           {
2641             mergeCloudStorageOptions(other.getCloudStorageOptions());
2642             break;
2643           }
2644         case BIG_QUERY_OPTIONS:
2645           {
2646             mergeBigQueryOptions(other.getBigQueryOptions());
2647             break;
2648           }
2649         case HYBRID_OPTIONS:
2650           {
2651             mergeHybridOptions(other.getHybridOptions());
2652             break;
2653           }
2654         case TYPE_NOT_SET:
2655           {
2656             break;
2657           }
2658       }
2659       this.mergeUnknownFields(other.getUnknownFields());
2660       onChanged();
2661       return this;
2662     }
2663 
2664     @java.lang.Override
isInitialized()2665     public final boolean isInitialized() {
2666       return true;
2667     }
2668 
2669     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2670     public Builder mergeFrom(
2671         com.google.protobuf.CodedInputStream input,
2672         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2673         throws java.io.IOException {
2674       if (extensionRegistry == null) {
2675         throw new java.lang.NullPointerException();
2676       }
2677       try {
2678         boolean done = false;
2679         while (!done) {
2680           int tag = input.readTag();
2681           switch (tag) {
2682             case 0:
2683               done = true;
2684               break;
2685             case 18:
2686               {
2687                 input.readMessage(
2688                     getDatastoreOptionsFieldBuilder().getBuilder(), extensionRegistry);
2689                 typeCase_ = 2;
2690                 break;
2691               } // case 18
2692             case 26:
2693               {
2694                 input.readMessage(
2695                     getCloudStorageOptionsFieldBuilder().getBuilder(), extensionRegistry);
2696                 typeCase_ = 3;
2697                 break;
2698               } // case 26
2699             case 34:
2700               {
2701                 input.readMessage(getBigQueryOptionsFieldBuilder().getBuilder(), extensionRegistry);
2702                 typeCase_ = 4;
2703                 break;
2704               } // case 34
2705             case 50:
2706               {
2707                 input.readMessage(getTimespanConfigFieldBuilder().getBuilder(), extensionRegistry);
2708                 bitField0_ |= 0x00000010;
2709                 break;
2710               } // case 50
2711             case 74:
2712               {
2713                 input.readMessage(getHybridOptionsFieldBuilder().getBuilder(), extensionRegistry);
2714                 typeCase_ = 9;
2715                 break;
2716               } // case 74
2717             default:
2718               {
2719                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2720                   done = true; // was an endgroup tag
2721                 }
2722                 break;
2723               } // default:
2724           } // switch (tag)
2725         } // while (!done)
2726       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2727         throw e.unwrapIOException();
2728       } finally {
2729         onChanged();
2730       } // finally
2731       return this;
2732     }
2733 
2734     private int typeCase_ = 0;
2735     private java.lang.Object type_;
2736 
getTypeCase()2737     public TypeCase getTypeCase() {
2738       return TypeCase.forNumber(typeCase_);
2739     }
2740 
clearType()2741     public Builder clearType() {
2742       typeCase_ = 0;
2743       type_ = null;
2744       onChanged();
2745       return this;
2746     }
2747 
2748     private int bitField0_;
2749 
2750     private com.google.protobuf.SingleFieldBuilderV3<
2751             com.google.privacy.dlp.v2.DatastoreOptions,
2752             com.google.privacy.dlp.v2.DatastoreOptions.Builder,
2753             com.google.privacy.dlp.v2.DatastoreOptionsOrBuilder>
2754         datastoreOptionsBuilder_;
2755     /**
2756      *
2757      *
2758      * <pre>
2759      * Google Cloud Datastore options.
2760      * </pre>
2761      *
2762      * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2763      *
2764      * @return Whether the datastoreOptions field is set.
2765      */
2766     @java.lang.Override
hasDatastoreOptions()2767     public boolean hasDatastoreOptions() {
2768       return typeCase_ == 2;
2769     }
2770     /**
2771      *
2772      *
2773      * <pre>
2774      * Google Cloud Datastore options.
2775      * </pre>
2776      *
2777      * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2778      *
2779      * @return The datastoreOptions.
2780      */
2781     @java.lang.Override
getDatastoreOptions()2782     public com.google.privacy.dlp.v2.DatastoreOptions getDatastoreOptions() {
2783       if (datastoreOptionsBuilder_ == null) {
2784         if (typeCase_ == 2) {
2785           return (com.google.privacy.dlp.v2.DatastoreOptions) type_;
2786         }
2787         return com.google.privacy.dlp.v2.DatastoreOptions.getDefaultInstance();
2788       } else {
2789         if (typeCase_ == 2) {
2790           return datastoreOptionsBuilder_.getMessage();
2791         }
2792         return com.google.privacy.dlp.v2.DatastoreOptions.getDefaultInstance();
2793       }
2794     }
2795     /**
2796      *
2797      *
2798      * <pre>
2799      * Google Cloud Datastore options.
2800      * </pre>
2801      *
2802      * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2803      */
setDatastoreOptions(com.google.privacy.dlp.v2.DatastoreOptions value)2804     public Builder setDatastoreOptions(com.google.privacy.dlp.v2.DatastoreOptions value) {
2805       if (datastoreOptionsBuilder_ == null) {
2806         if (value == null) {
2807           throw new NullPointerException();
2808         }
2809         type_ = value;
2810         onChanged();
2811       } else {
2812         datastoreOptionsBuilder_.setMessage(value);
2813       }
2814       typeCase_ = 2;
2815       return this;
2816     }
2817     /**
2818      *
2819      *
2820      * <pre>
2821      * Google Cloud Datastore options.
2822      * </pre>
2823      *
2824      * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2825      */
setDatastoreOptions( com.google.privacy.dlp.v2.DatastoreOptions.Builder builderForValue)2826     public Builder setDatastoreOptions(
2827         com.google.privacy.dlp.v2.DatastoreOptions.Builder builderForValue) {
2828       if (datastoreOptionsBuilder_ == null) {
2829         type_ = builderForValue.build();
2830         onChanged();
2831       } else {
2832         datastoreOptionsBuilder_.setMessage(builderForValue.build());
2833       }
2834       typeCase_ = 2;
2835       return this;
2836     }
2837     /**
2838      *
2839      *
2840      * <pre>
2841      * Google Cloud Datastore options.
2842      * </pre>
2843      *
2844      * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2845      */
mergeDatastoreOptions(com.google.privacy.dlp.v2.DatastoreOptions value)2846     public Builder mergeDatastoreOptions(com.google.privacy.dlp.v2.DatastoreOptions value) {
2847       if (datastoreOptionsBuilder_ == null) {
2848         if (typeCase_ == 2
2849             && type_ != com.google.privacy.dlp.v2.DatastoreOptions.getDefaultInstance()) {
2850           type_ =
2851               com.google.privacy.dlp.v2.DatastoreOptions.newBuilder(
2852                       (com.google.privacy.dlp.v2.DatastoreOptions) type_)
2853                   .mergeFrom(value)
2854                   .buildPartial();
2855         } else {
2856           type_ = value;
2857         }
2858         onChanged();
2859       } else {
2860         if (typeCase_ == 2) {
2861           datastoreOptionsBuilder_.mergeFrom(value);
2862         } else {
2863           datastoreOptionsBuilder_.setMessage(value);
2864         }
2865       }
2866       typeCase_ = 2;
2867       return this;
2868     }
2869     /**
2870      *
2871      *
2872      * <pre>
2873      * Google Cloud Datastore options.
2874      * </pre>
2875      *
2876      * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2877      */
clearDatastoreOptions()2878     public Builder clearDatastoreOptions() {
2879       if (datastoreOptionsBuilder_ == null) {
2880         if (typeCase_ == 2) {
2881           typeCase_ = 0;
2882           type_ = null;
2883           onChanged();
2884         }
2885       } else {
2886         if (typeCase_ == 2) {
2887           typeCase_ = 0;
2888           type_ = null;
2889         }
2890         datastoreOptionsBuilder_.clear();
2891       }
2892       return this;
2893     }
2894     /**
2895      *
2896      *
2897      * <pre>
2898      * Google Cloud Datastore options.
2899      * </pre>
2900      *
2901      * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2902      */
getDatastoreOptionsBuilder()2903     public com.google.privacy.dlp.v2.DatastoreOptions.Builder getDatastoreOptionsBuilder() {
2904       return getDatastoreOptionsFieldBuilder().getBuilder();
2905     }
2906     /**
2907      *
2908      *
2909      * <pre>
2910      * Google Cloud Datastore options.
2911      * </pre>
2912      *
2913      * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2914      */
2915     @java.lang.Override
getDatastoreOptionsOrBuilder()2916     public com.google.privacy.dlp.v2.DatastoreOptionsOrBuilder getDatastoreOptionsOrBuilder() {
2917       if ((typeCase_ == 2) && (datastoreOptionsBuilder_ != null)) {
2918         return datastoreOptionsBuilder_.getMessageOrBuilder();
2919       } else {
2920         if (typeCase_ == 2) {
2921           return (com.google.privacy.dlp.v2.DatastoreOptions) type_;
2922         }
2923         return com.google.privacy.dlp.v2.DatastoreOptions.getDefaultInstance();
2924       }
2925     }
2926     /**
2927      *
2928      *
2929      * <pre>
2930      * Google Cloud Datastore options.
2931      * </pre>
2932      *
2933      * <code>.google.privacy.dlp.v2.DatastoreOptions datastore_options = 2;</code>
2934      */
2935     private com.google.protobuf.SingleFieldBuilderV3<
2936             com.google.privacy.dlp.v2.DatastoreOptions,
2937             com.google.privacy.dlp.v2.DatastoreOptions.Builder,
2938             com.google.privacy.dlp.v2.DatastoreOptionsOrBuilder>
getDatastoreOptionsFieldBuilder()2939         getDatastoreOptionsFieldBuilder() {
2940       if (datastoreOptionsBuilder_ == null) {
2941         if (!(typeCase_ == 2)) {
2942           type_ = com.google.privacy.dlp.v2.DatastoreOptions.getDefaultInstance();
2943         }
2944         datastoreOptionsBuilder_ =
2945             new com.google.protobuf.SingleFieldBuilderV3<
2946                 com.google.privacy.dlp.v2.DatastoreOptions,
2947                 com.google.privacy.dlp.v2.DatastoreOptions.Builder,
2948                 com.google.privacy.dlp.v2.DatastoreOptionsOrBuilder>(
2949                 (com.google.privacy.dlp.v2.DatastoreOptions) type_,
2950                 getParentForChildren(),
2951                 isClean());
2952         type_ = null;
2953       }
2954       typeCase_ = 2;
2955       onChanged();
2956       return datastoreOptionsBuilder_;
2957     }
2958 
2959     private com.google.protobuf.SingleFieldBuilderV3<
2960             com.google.privacy.dlp.v2.CloudStorageOptions,
2961             com.google.privacy.dlp.v2.CloudStorageOptions.Builder,
2962             com.google.privacy.dlp.v2.CloudStorageOptionsOrBuilder>
2963         cloudStorageOptionsBuilder_;
2964     /**
2965      *
2966      *
2967      * <pre>
2968      * Cloud Storage options.
2969      * </pre>
2970      *
2971      * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
2972      *
2973      * @return Whether the cloudStorageOptions field is set.
2974      */
2975     @java.lang.Override
hasCloudStorageOptions()2976     public boolean hasCloudStorageOptions() {
2977       return typeCase_ == 3;
2978     }
2979     /**
2980      *
2981      *
2982      * <pre>
2983      * Cloud Storage options.
2984      * </pre>
2985      *
2986      * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
2987      *
2988      * @return The cloudStorageOptions.
2989      */
2990     @java.lang.Override
getCloudStorageOptions()2991     public com.google.privacy.dlp.v2.CloudStorageOptions getCloudStorageOptions() {
2992       if (cloudStorageOptionsBuilder_ == null) {
2993         if (typeCase_ == 3) {
2994           return (com.google.privacy.dlp.v2.CloudStorageOptions) type_;
2995         }
2996         return com.google.privacy.dlp.v2.CloudStorageOptions.getDefaultInstance();
2997       } else {
2998         if (typeCase_ == 3) {
2999           return cloudStorageOptionsBuilder_.getMessage();
3000         }
3001         return com.google.privacy.dlp.v2.CloudStorageOptions.getDefaultInstance();
3002       }
3003     }
3004     /**
3005      *
3006      *
3007      * <pre>
3008      * Cloud Storage options.
3009      * </pre>
3010      *
3011      * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
3012      */
setCloudStorageOptions(com.google.privacy.dlp.v2.CloudStorageOptions value)3013     public Builder setCloudStorageOptions(com.google.privacy.dlp.v2.CloudStorageOptions value) {
3014       if (cloudStorageOptionsBuilder_ == null) {
3015         if (value == null) {
3016           throw new NullPointerException();
3017         }
3018         type_ = value;
3019         onChanged();
3020       } else {
3021         cloudStorageOptionsBuilder_.setMessage(value);
3022       }
3023       typeCase_ = 3;
3024       return this;
3025     }
3026     /**
3027      *
3028      *
3029      * <pre>
3030      * Cloud Storage options.
3031      * </pre>
3032      *
3033      * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
3034      */
setCloudStorageOptions( com.google.privacy.dlp.v2.CloudStorageOptions.Builder builderForValue)3035     public Builder setCloudStorageOptions(
3036         com.google.privacy.dlp.v2.CloudStorageOptions.Builder builderForValue) {
3037       if (cloudStorageOptionsBuilder_ == null) {
3038         type_ = builderForValue.build();
3039         onChanged();
3040       } else {
3041         cloudStorageOptionsBuilder_.setMessage(builderForValue.build());
3042       }
3043       typeCase_ = 3;
3044       return this;
3045     }
3046     /**
3047      *
3048      *
3049      * <pre>
3050      * Cloud Storage options.
3051      * </pre>
3052      *
3053      * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
3054      */
mergeCloudStorageOptions(com.google.privacy.dlp.v2.CloudStorageOptions value)3055     public Builder mergeCloudStorageOptions(com.google.privacy.dlp.v2.CloudStorageOptions value) {
3056       if (cloudStorageOptionsBuilder_ == null) {
3057         if (typeCase_ == 3
3058             && type_ != com.google.privacy.dlp.v2.CloudStorageOptions.getDefaultInstance()) {
3059           type_ =
3060               com.google.privacy.dlp.v2.CloudStorageOptions.newBuilder(
3061                       (com.google.privacy.dlp.v2.CloudStorageOptions) type_)
3062                   .mergeFrom(value)
3063                   .buildPartial();
3064         } else {
3065           type_ = value;
3066         }
3067         onChanged();
3068       } else {
3069         if (typeCase_ == 3) {
3070           cloudStorageOptionsBuilder_.mergeFrom(value);
3071         } else {
3072           cloudStorageOptionsBuilder_.setMessage(value);
3073         }
3074       }
3075       typeCase_ = 3;
3076       return this;
3077     }
3078     /**
3079      *
3080      *
3081      * <pre>
3082      * Cloud Storage options.
3083      * </pre>
3084      *
3085      * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
3086      */
clearCloudStorageOptions()3087     public Builder clearCloudStorageOptions() {
3088       if (cloudStorageOptionsBuilder_ == null) {
3089         if (typeCase_ == 3) {
3090           typeCase_ = 0;
3091           type_ = null;
3092           onChanged();
3093         }
3094       } else {
3095         if (typeCase_ == 3) {
3096           typeCase_ = 0;
3097           type_ = null;
3098         }
3099         cloudStorageOptionsBuilder_.clear();
3100       }
3101       return this;
3102     }
3103     /**
3104      *
3105      *
3106      * <pre>
3107      * Cloud Storage options.
3108      * </pre>
3109      *
3110      * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
3111      */
getCloudStorageOptionsBuilder()3112     public com.google.privacy.dlp.v2.CloudStorageOptions.Builder getCloudStorageOptionsBuilder() {
3113       return getCloudStorageOptionsFieldBuilder().getBuilder();
3114     }
3115     /**
3116      *
3117      *
3118      * <pre>
3119      * Cloud Storage options.
3120      * </pre>
3121      *
3122      * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
3123      */
3124     @java.lang.Override
3125     public com.google.privacy.dlp.v2.CloudStorageOptionsOrBuilder
getCloudStorageOptionsOrBuilder()3126         getCloudStorageOptionsOrBuilder() {
3127       if ((typeCase_ == 3) && (cloudStorageOptionsBuilder_ != null)) {
3128         return cloudStorageOptionsBuilder_.getMessageOrBuilder();
3129       } else {
3130         if (typeCase_ == 3) {
3131           return (com.google.privacy.dlp.v2.CloudStorageOptions) type_;
3132         }
3133         return com.google.privacy.dlp.v2.CloudStorageOptions.getDefaultInstance();
3134       }
3135     }
3136     /**
3137      *
3138      *
3139      * <pre>
3140      * Cloud Storage options.
3141      * </pre>
3142      *
3143      * <code>.google.privacy.dlp.v2.CloudStorageOptions cloud_storage_options = 3;</code>
3144      */
3145     private com.google.protobuf.SingleFieldBuilderV3<
3146             com.google.privacy.dlp.v2.CloudStorageOptions,
3147             com.google.privacy.dlp.v2.CloudStorageOptions.Builder,
3148             com.google.privacy.dlp.v2.CloudStorageOptionsOrBuilder>
getCloudStorageOptionsFieldBuilder()3149         getCloudStorageOptionsFieldBuilder() {
3150       if (cloudStorageOptionsBuilder_ == null) {
3151         if (!(typeCase_ == 3)) {
3152           type_ = com.google.privacy.dlp.v2.CloudStorageOptions.getDefaultInstance();
3153         }
3154         cloudStorageOptionsBuilder_ =
3155             new com.google.protobuf.SingleFieldBuilderV3<
3156                 com.google.privacy.dlp.v2.CloudStorageOptions,
3157                 com.google.privacy.dlp.v2.CloudStorageOptions.Builder,
3158                 com.google.privacy.dlp.v2.CloudStorageOptionsOrBuilder>(
3159                 (com.google.privacy.dlp.v2.CloudStorageOptions) type_,
3160                 getParentForChildren(),
3161                 isClean());
3162         type_ = null;
3163       }
3164       typeCase_ = 3;
3165       onChanged();
3166       return cloudStorageOptionsBuilder_;
3167     }
3168 
3169     private com.google.protobuf.SingleFieldBuilderV3<
3170             com.google.privacy.dlp.v2.BigQueryOptions,
3171             com.google.privacy.dlp.v2.BigQueryOptions.Builder,
3172             com.google.privacy.dlp.v2.BigQueryOptionsOrBuilder>
3173         bigQueryOptionsBuilder_;
3174     /**
3175      *
3176      *
3177      * <pre>
3178      * BigQuery options.
3179      * </pre>
3180      *
3181      * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
3182      *
3183      * @return Whether the bigQueryOptions field is set.
3184      */
3185     @java.lang.Override
hasBigQueryOptions()3186     public boolean hasBigQueryOptions() {
3187       return typeCase_ == 4;
3188     }
3189     /**
3190      *
3191      *
3192      * <pre>
3193      * BigQuery options.
3194      * </pre>
3195      *
3196      * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
3197      *
3198      * @return The bigQueryOptions.
3199      */
3200     @java.lang.Override
getBigQueryOptions()3201     public com.google.privacy.dlp.v2.BigQueryOptions getBigQueryOptions() {
3202       if (bigQueryOptionsBuilder_ == null) {
3203         if (typeCase_ == 4) {
3204           return (com.google.privacy.dlp.v2.BigQueryOptions) type_;
3205         }
3206         return com.google.privacy.dlp.v2.BigQueryOptions.getDefaultInstance();
3207       } else {
3208         if (typeCase_ == 4) {
3209           return bigQueryOptionsBuilder_.getMessage();
3210         }
3211         return com.google.privacy.dlp.v2.BigQueryOptions.getDefaultInstance();
3212       }
3213     }
3214     /**
3215      *
3216      *
3217      * <pre>
3218      * BigQuery options.
3219      * </pre>
3220      *
3221      * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
3222      */
setBigQueryOptions(com.google.privacy.dlp.v2.BigQueryOptions value)3223     public Builder setBigQueryOptions(com.google.privacy.dlp.v2.BigQueryOptions value) {
3224       if (bigQueryOptionsBuilder_ == null) {
3225         if (value == null) {
3226           throw new NullPointerException();
3227         }
3228         type_ = value;
3229         onChanged();
3230       } else {
3231         bigQueryOptionsBuilder_.setMessage(value);
3232       }
3233       typeCase_ = 4;
3234       return this;
3235     }
3236     /**
3237      *
3238      *
3239      * <pre>
3240      * BigQuery options.
3241      * </pre>
3242      *
3243      * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
3244      */
setBigQueryOptions( com.google.privacy.dlp.v2.BigQueryOptions.Builder builderForValue)3245     public Builder setBigQueryOptions(
3246         com.google.privacy.dlp.v2.BigQueryOptions.Builder builderForValue) {
3247       if (bigQueryOptionsBuilder_ == null) {
3248         type_ = builderForValue.build();
3249         onChanged();
3250       } else {
3251         bigQueryOptionsBuilder_.setMessage(builderForValue.build());
3252       }
3253       typeCase_ = 4;
3254       return this;
3255     }
3256     /**
3257      *
3258      *
3259      * <pre>
3260      * BigQuery options.
3261      * </pre>
3262      *
3263      * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
3264      */
mergeBigQueryOptions(com.google.privacy.dlp.v2.BigQueryOptions value)3265     public Builder mergeBigQueryOptions(com.google.privacy.dlp.v2.BigQueryOptions value) {
3266       if (bigQueryOptionsBuilder_ == null) {
3267         if (typeCase_ == 4
3268             && type_ != com.google.privacy.dlp.v2.BigQueryOptions.getDefaultInstance()) {
3269           type_ =
3270               com.google.privacy.dlp.v2.BigQueryOptions.newBuilder(
3271                       (com.google.privacy.dlp.v2.BigQueryOptions) type_)
3272                   .mergeFrom(value)
3273                   .buildPartial();
3274         } else {
3275           type_ = value;
3276         }
3277         onChanged();
3278       } else {
3279         if (typeCase_ == 4) {
3280           bigQueryOptionsBuilder_.mergeFrom(value);
3281         } else {
3282           bigQueryOptionsBuilder_.setMessage(value);
3283         }
3284       }
3285       typeCase_ = 4;
3286       return this;
3287     }
3288     /**
3289      *
3290      *
3291      * <pre>
3292      * BigQuery options.
3293      * </pre>
3294      *
3295      * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
3296      */
clearBigQueryOptions()3297     public Builder clearBigQueryOptions() {
3298       if (bigQueryOptionsBuilder_ == null) {
3299         if (typeCase_ == 4) {
3300           typeCase_ = 0;
3301           type_ = null;
3302           onChanged();
3303         }
3304       } else {
3305         if (typeCase_ == 4) {
3306           typeCase_ = 0;
3307           type_ = null;
3308         }
3309         bigQueryOptionsBuilder_.clear();
3310       }
3311       return this;
3312     }
3313     /**
3314      *
3315      *
3316      * <pre>
3317      * BigQuery options.
3318      * </pre>
3319      *
3320      * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
3321      */
getBigQueryOptionsBuilder()3322     public com.google.privacy.dlp.v2.BigQueryOptions.Builder getBigQueryOptionsBuilder() {
3323       return getBigQueryOptionsFieldBuilder().getBuilder();
3324     }
3325     /**
3326      *
3327      *
3328      * <pre>
3329      * BigQuery options.
3330      * </pre>
3331      *
3332      * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
3333      */
3334     @java.lang.Override
getBigQueryOptionsOrBuilder()3335     public com.google.privacy.dlp.v2.BigQueryOptionsOrBuilder getBigQueryOptionsOrBuilder() {
3336       if ((typeCase_ == 4) && (bigQueryOptionsBuilder_ != null)) {
3337         return bigQueryOptionsBuilder_.getMessageOrBuilder();
3338       } else {
3339         if (typeCase_ == 4) {
3340           return (com.google.privacy.dlp.v2.BigQueryOptions) type_;
3341         }
3342         return com.google.privacy.dlp.v2.BigQueryOptions.getDefaultInstance();
3343       }
3344     }
3345     /**
3346      *
3347      *
3348      * <pre>
3349      * BigQuery options.
3350      * </pre>
3351      *
3352      * <code>.google.privacy.dlp.v2.BigQueryOptions big_query_options = 4;</code>
3353      */
3354     private com.google.protobuf.SingleFieldBuilderV3<
3355             com.google.privacy.dlp.v2.BigQueryOptions,
3356             com.google.privacy.dlp.v2.BigQueryOptions.Builder,
3357             com.google.privacy.dlp.v2.BigQueryOptionsOrBuilder>
getBigQueryOptionsFieldBuilder()3358         getBigQueryOptionsFieldBuilder() {
3359       if (bigQueryOptionsBuilder_ == null) {
3360         if (!(typeCase_ == 4)) {
3361           type_ = com.google.privacy.dlp.v2.BigQueryOptions.getDefaultInstance();
3362         }
3363         bigQueryOptionsBuilder_ =
3364             new com.google.protobuf.SingleFieldBuilderV3<
3365                 com.google.privacy.dlp.v2.BigQueryOptions,
3366                 com.google.privacy.dlp.v2.BigQueryOptions.Builder,
3367                 com.google.privacy.dlp.v2.BigQueryOptionsOrBuilder>(
3368                 (com.google.privacy.dlp.v2.BigQueryOptions) type_,
3369                 getParentForChildren(),
3370                 isClean());
3371         type_ = null;
3372       }
3373       typeCase_ = 4;
3374       onChanged();
3375       return bigQueryOptionsBuilder_;
3376     }
3377 
3378     private com.google.protobuf.SingleFieldBuilderV3<
3379             com.google.privacy.dlp.v2.HybridOptions,
3380             com.google.privacy.dlp.v2.HybridOptions.Builder,
3381             com.google.privacy.dlp.v2.HybridOptionsOrBuilder>
3382         hybridOptionsBuilder_;
3383     /**
3384      *
3385      *
3386      * <pre>
3387      * Hybrid inspection options.
3388      * </pre>
3389      *
3390      * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
3391      *
3392      * @return Whether the hybridOptions field is set.
3393      */
3394     @java.lang.Override
hasHybridOptions()3395     public boolean hasHybridOptions() {
3396       return typeCase_ == 9;
3397     }
3398     /**
3399      *
3400      *
3401      * <pre>
3402      * Hybrid inspection options.
3403      * </pre>
3404      *
3405      * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
3406      *
3407      * @return The hybridOptions.
3408      */
3409     @java.lang.Override
getHybridOptions()3410     public com.google.privacy.dlp.v2.HybridOptions getHybridOptions() {
3411       if (hybridOptionsBuilder_ == null) {
3412         if (typeCase_ == 9) {
3413           return (com.google.privacy.dlp.v2.HybridOptions) type_;
3414         }
3415         return com.google.privacy.dlp.v2.HybridOptions.getDefaultInstance();
3416       } else {
3417         if (typeCase_ == 9) {
3418           return hybridOptionsBuilder_.getMessage();
3419         }
3420         return com.google.privacy.dlp.v2.HybridOptions.getDefaultInstance();
3421       }
3422     }
3423     /**
3424      *
3425      *
3426      * <pre>
3427      * Hybrid inspection options.
3428      * </pre>
3429      *
3430      * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
3431      */
setHybridOptions(com.google.privacy.dlp.v2.HybridOptions value)3432     public Builder setHybridOptions(com.google.privacy.dlp.v2.HybridOptions value) {
3433       if (hybridOptionsBuilder_ == null) {
3434         if (value == null) {
3435           throw new NullPointerException();
3436         }
3437         type_ = value;
3438         onChanged();
3439       } else {
3440         hybridOptionsBuilder_.setMessage(value);
3441       }
3442       typeCase_ = 9;
3443       return this;
3444     }
3445     /**
3446      *
3447      *
3448      * <pre>
3449      * Hybrid inspection options.
3450      * </pre>
3451      *
3452      * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
3453      */
setHybridOptions( com.google.privacy.dlp.v2.HybridOptions.Builder builderForValue)3454     public Builder setHybridOptions(
3455         com.google.privacy.dlp.v2.HybridOptions.Builder builderForValue) {
3456       if (hybridOptionsBuilder_ == null) {
3457         type_ = builderForValue.build();
3458         onChanged();
3459       } else {
3460         hybridOptionsBuilder_.setMessage(builderForValue.build());
3461       }
3462       typeCase_ = 9;
3463       return this;
3464     }
3465     /**
3466      *
3467      *
3468      * <pre>
3469      * Hybrid inspection options.
3470      * </pre>
3471      *
3472      * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
3473      */
mergeHybridOptions(com.google.privacy.dlp.v2.HybridOptions value)3474     public Builder mergeHybridOptions(com.google.privacy.dlp.v2.HybridOptions value) {
3475       if (hybridOptionsBuilder_ == null) {
3476         if (typeCase_ == 9
3477             && type_ != com.google.privacy.dlp.v2.HybridOptions.getDefaultInstance()) {
3478           type_ =
3479               com.google.privacy.dlp.v2.HybridOptions.newBuilder(
3480                       (com.google.privacy.dlp.v2.HybridOptions) type_)
3481                   .mergeFrom(value)
3482                   .buildPartial();
3483         } else {
3484           type_ = value;
3485         }
3486         onChanged();
3487       } else {
3488         if (typeCase_ == 9) {
3489           hybridOptionsBuilder_.mergeFrom(value);
3490         } else {
3491           hybridOptionsBuilder_.setMessage(value);
3492         }
3493       }
3494       typeCase_ = 9;
3495       return this;
3496     }
3497     /**
3498      *
3499      *
3500      * <pre>
3501      * Hybrid inspection options.
3502      * </pre>
3503      *
3504      * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
3505      */
clearHybridOptions()3506     public Builder clearHybridOptions() {
3507       if (hybridOptionsBuilder_ == null) {
3508         if (typeCase_ == 9) {
3509           typeCase_ = 0;
3510           type_ = null;
3511           onChanged();
3512         }
3513       } else {
3514         if (typeCase_ == 9) {
3515           typeCase_ = 0;
3516           type_ = null;
3517         }
3518         hybridOptionsBuilder_.clear();
3519       }
3520       return this;
3521     }
3522     /**
3523      *
3524      *
3525      * <pre>
3526      * Hybrid inspection options.
3527      * </pre>
3528      *
3529      * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
3530      */
getHybridOptionsBuilder()3531     public com.google.privacy.dlp.v2.HybridOptions.Builder getHybridOptionsBuilder() {
3532       return getHybridOptionsFieldBuilder().getBuilder();
3533     }
3534     /**
3535      *
3536      *
3537      * <pre>
3538      * Hybrid inspection options.
3539      * </pre>
3540      *
3541      * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
3542      */
3543     @java.lang.Override
getHybridOptionsOrBuilder()3544     public com.google.privacy.dlp.v2.HybridOptionsOrBuilder getHybridOptionsOrBuilder() {
3545       if ((typeCase_ == 9) && (hybridOptionsBuilder_ != null)) {
3546         return hybridOptionsBuilder_.getMessageOrBuilder();
3547       } else {
3548         if (typeCase_ == 9) {
3549           return (com.google.privacy.dlp.v2.HybridOptions) type_;
3550         }
3551         return com.google.privacy.dlp.v2.HybridOptions.getDefaultInstance();
3552       }
3553     }
3554     /**
3555      *
3556      *
3557      * <pre>
3558      * Hybrid inspection options.
3559      * </pre>
3560      *
3561      * <code>.google.privacy.dlp.v2.HybridOptions hybrid_options = 9;</code>
3562      */
3563     private com.google.protobuf.SingleFieldBuilderV3<
3564             com.google.privacy.dlp.v2.HybridOptions,
3565             com.google.privacy.dlp.v2.HybridOptions.Builder,
3566             com.google.privacy.dlp.v2.HybridOptionsOrBuilder>
getHybridOptionsFieldBuilder()3567         getHybridOptionsFieldBuilder() {
3568       if (hybridOptionsBuilder_ == null) {
3569         if (!(typeCase_ == 9)) {
3570           type_ = com.google.privacy.dlp.v2.HybridOptions.getDefaultInstance();
3571         }
3572         hybridOptionsBuilder_ =
3573             new com.google.protobuf.SingleFieldBuilderV3<
3574                 com.google.privacy.dlp.v2.HybridOptions,
3575                 com.google.privacy.dlp.v2.HybridOptions.Builder,
3576                 com.google.privacy.dlp.v2.HybridOptionsOrBuilder>(
3577                 (com.google.privacy.dlp.v2.HybridOptions) type_, getParentForChildren(), isClean());
3578         type_ = null;
3579       }
3580       typeCase_ = 9;
3581       onChanged();
3582       return hybridOptionsBuilder_;
3583     }
3584 
3585     private com.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespanConfig_;
3586     private com.google.protobuf.SingleFieldBuilderV3<
3587             com.google.privacy.dlp.v2.StorageConfig.TimespanConfig,
3588             com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.Builder,
3589             com.google.privacy.dlp.v2.StorageConfig.TimespanConfigOrBuilder>
3590         timespanConfigBuilder_;
3591     /**
3592      * <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code>
3593      *
3594      * @return Whether the timespanConfig field is set.
3595      */
hasTimespanConfig()3596     public boolean hasTimespanConfig() {
3597       return ((bitField0_ & 0x00000010) != 0);
3598     }
3599     /**
3600      * <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code>
3601      *
3602      * @return The timespanConfig.
3603      */
getTimespanConfig()3604     public com.google.privacy.dlp.v2.StorageConfig.TimespanConfig getTimespanConfig() {
3605       if (timespanConfigBuilder_ == null) {
3606         return timespanConfig_ == null
3607             ? com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.getDefaultInstance()
3608             : timespanConfig_;
3609       } else {
3610         return timespanConfigBuilder_.getMessage();
3611       }
3612     }
3613     /** <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code> */
setTimespanConfig(com.google.privacy.dlp.v2.StorageConfig.TimespanConfig value)3614     public Builder setTimespanConfig(com.google.privacy.dlp.v2.StorageConfig.TimespanConfig value) {
3615       if (timespanConfigBuilder_ == null) {
3616         if (value == null) {
3617           throw new NullPointerException();
3618         }
3619         timespanConfig_ = value;
3620       } else {
3621         timespanConfigBuilder_.setMessage(value);
3622       }
3623       bitField0_ |= 0x00000010;
3624       onChanged();
3625       return this;
3626     }
3627     /** <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code> */
setTimespanConfig( com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.Builder builderForValue)3628     public Builder setTimespanConfig(
3629         com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.Builder builderForValue) {
3630       if (timespanConfigBuilder_ == null) {
3631         timespanConfig_ = builderForValue.build();
3632       } else {
3633         timespanConfigBuilder_.setMessage(builderForValue.build());
3634       }
3635       bitField0_ |= 0x00000010;
3636       onChanged();
3637       return this;
3638     }
3639     /** <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code> */
mergeTimespanConfig( com.google.privacy.dlp.v2.StorageConfig.TimespanConfig value)3640     public Builder mergeTimespanConfig(
3641         com.google.privacy.dlp.v2.StorageConfig.TimespanConfig value) {
3642       if (timespanConfigBuilder_ == null) {
3643         if (((bitField0_ & 0x00000010) != 0)
3644             && timespanConfig_ != null
3645             && timespanConfig_
3646                 != com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.getDefaultInstance()) {
3647           getTimespanConfigBuilder().mergeFrom(value);
3648         } else {
3649           timespanConfig_ = value;
3650         }
3651       } else {
3652         timespanConfigBuilder_.mergeFrom(value);
3653       }
3654       bitField0_ |= 0x00000010;
3655       onChanged();
3656       return this;
3657     }
3658     /** <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code> */
clearTimespanConfig()3659     public Builder clearTimespanConfig() {
3660       bitField0_ = (bitField0_ & ~0x00000010);
3661       timespanConfig_ = null;
3662       if (timespanConfigBuilder_ != null) {
3663         timespanConfigBuilder_.dispose();
3664         timespanConfigBuilder_ = null;
3665       }
3666       onChanged();
3667       return this;
3668     }
3669     /** <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code> */
3670     public com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.Builder
getTimespanConfigBuilder()3671         getTimespanConfigBuilder() {
3672       bitField0_ |= 0x00000010;
3673       onChanged();
3674       return getTimespanConfigFieldBuilder().getBuilder();
3675     }
3676     /** <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code> */
3677     public com.google.privacy.dlp.v2.StorageConfig.TimespanConfigOrBuilder
getTimespanConfigOrBuilder()3678         getTimespanConfigOrBuilder() {
3679       if (timespanConfigBuilder_ != null) {
3680         return timespanConfigBuilder_.getMessageOrBuilder();
3681       } else {
3682         return timespanConfig_ == null
3683             ? com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.getDefaultInstance()
3684             : timespanConfig_;
3685       }
3686     }
3687     /** <code>.google.privacy.dlp.v2.StorageConfig.TimespanConfig timespan_config = 6;</code> */
3688     private com.google.protobuf.SingleFieldBuilderV3<
3689             com.google.privacy.dlp.v2.StorageConfig.TimespanConfig,
3690             com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.Builder,
3691             com.google.privacy.dlp.v2.StorageConfig.TimespanConfigOrBuilder>
getTimespanConfigFieldBuilder()3692         getTimespanConfigFieldBuilder() {
3693       if (timespanConfigBuilder_ == null) {
3694         timespanConfigBuilder_ =
3695             new com.google.protobuf.SingleFieldBuilderV3<
3696                 com.google.privacy.dlp.v2.StorageConfig.TimespanConfig,
3697                 com.google.privacy.dlp.v2.StorageConfig.TimespanConfig.Builder,
3698                 com.google.privacy.dlp.v2.StorageConfig.TimespanConfigOrBuilder>(
3699                 getTimespanConfig(), getParentForChildren(), isClean());
3700         timespanConfig_ = null;
3701       }
3702       return timespanConfigBuilder_;
3703     }
3704 
3705     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)3706     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
3707       return super.setUnknownFields(unknownFields);
3708     }
3709 
3710     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3711     public final Builder mergeUnknownFields(
3712         final com.google.protobuf.UnknownFieldSet unknownFields) {
3713       return super.mergeUnknownFields(unknownFields);
3714     }
3715 
3716     // @@protoc_insertion_point(builder_scope:google.privacy.dlp.v2.StorageConfig)
3717   }
3718 
3719   // @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.StorageConfig)
3720   private static final com.google.privacy.dlp.v2.StorageConfig DEFAULT_INSTANCE;
3721 
3722   static {
3723     DEFAULT_INSTANCE = new com.google.privacy.dlp.v2.StorageConfig();
3724   }
3725 
getDefaultInstance()3726   public static com.google.privacy.dlp.v2.StorageConfig getDefaultInstance() {
3727     return DEFAULT_INSTANCE;
3728   }
3729 
3730   private static final com.google.protobuf.Parser<StorageConfig> PARSER =
3731       new com.google.protobuf.AbstractParser<StorageConfig>() {
3732         @java.lang.Override
3733         public StorageConfig parsePartialFrom(
3734             com.google.protobuf.CodedInputStream input,
3735             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3736             throws com.google.protobuf.InvalidProtocolBufferException {
3737           Builder builder = newBuilder();
3738           try {
3739             builder.mergeFrom(input, extensionRegistry);
3740           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3741             throw e.setUnfinishedMessage(builder.buildPartial());
3742           } catch (com.google.protobuf.UninitializedMessageException e) {
3743             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
3744           } catch (java.io.IOException e) {
3745             throw new com.google.protobuf.InvalidProtocolBufferException(e)
3746                 .setUnfinishedMessage(builder.buildPartial());
3747           }
3748           return builder.buildPartial();
3749         }
3750       };
3751 
parser()3752   public static com.google.protobuf.Parser<StorageConfig> parser() {
3753     return PARSER;
3754   }
3755 
3756   @java.lang.Override
getParserForType()3757   public com.google.protobuf.Parser<StorageConfig> getParserForType() {
3758     return PARSER;
3759   }
3760 
3761   @java.lang.Override
getDefaultInstanceForType()3762   public com.google.privacy.dlp.v2.StorageConfig getDefaultInstanceForType() {
3763     return DEFAULT_INSTANCE;
3764   }
3765 }
3766