• 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/dlp.proto
18 
19 package com.google.privacy.dlp.v2;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Pseudonymization method that generates deterministic encryption for the given
26  * input. Outputs a base64 encoded representation of the encrypted output.
27  * Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297.
28  * </pre>
29  *
30  * Protobuf type {@code google.privacy.dlp.v2.CryptoDeterministicConfig}
31  */
32 public final class CryptoDeterministicConfig extends com.google.protobuf.GeneratedMessageV3
33     implements
34     // @@protoc_insertion_point(message_implements:google.privacy.dlp.v2.CryptoDeterministicConfig)
35     CryptoDeterministicConfigOrBuilder {
36   private static final long serialVersionUID = 0L;
37   // Use CryptoDeterministicConfig.newBuilder() to construct.
CryptoDeterministicConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)38   private CryptoDeterministicConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
39     super(builder);
40   }
41 
CryptoDeterministicConfig()42   private CryptoDeterministicConfig() {}
43 
44   @java.lang.Override
45   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)46   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
47     return new CryptoDeterministicConfig();
48   }
49 
50   @java.lang.Override
getUnknownFields()51   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
52     return this.unknownFields;
53   }
54 
getDescriptor()55   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
56     return com.google.privacy.dlp.v2.DlpProto
57         .internal_static_google_privacy_dlp_v2_CryptoDeterministicConfig_descriptor;
58   }
59 
60   @java.lang.Override
61   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()62       internalGetFieldAccessorTable() {
63     return com.google.privacy.dlp.v2.DlpProto
64         .internal_static_google_privacy_dlp_v2_CryptoDeterministicConfig_fieldAccessorTable
65         .ensureFieldAccessorsInitialized(
66             com.google.privacy.dlp.v2.CryptoDeterministicConfig.class,
67             com.google.privacy.dlp.v2.CryptoDeterministicConfig.Builder.class);
68   }
69 
70   public static final int CRYPTO_KEY_FIELD_NUMBER = 1;
71   private com.google.privacy.dlp.v2.CryptoKey cryptoKey_;
72   /**
73    *
74    *
75    * <pre>
76    * The key used by the encryption function. For deterministic encryption
77    * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
78    * use.
79    * </pre>
80    *
81    * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
82    *
83    * @return Whether the cryptoKey field is set.
84    */
85   @java.lang.Override
hasCryptoKey()86   public boolean hasCryptoKey() {
87     return cryptoKey_ != null;
88   }
89   /**
90    *
91    *
92    * <pre>
93    * The key used by the encryption function. For deterministic encryption
94    * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
95    * use.
96    * </pre>
97    *
98    * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
99    *
100    * @return The cryptoKey.
101    */
102   @java.lang.Override
getCryptoKey()103   public com.google.privacy.dlp.v2.CryptoKey getCryptoKey() {
104     return cryptoKey_ == null
105         ? com.google.privacy.dlp.v2.CryptoKey.getDefaultInstance()
106         : cryptoKey_;
107   }
108   /**
109    *
110    *
111    * <pre>
112    * The key used by the encryption function. For deterministic encryption
113    * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
114    * use.
115    * </pre>
116    *
117    * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
118    */
119   @java.lang.Override
getCryptoKeyOrBuilder()120   public com.google.privacy.dlp.v2.CryptoKeyOrBuilder getCryptoKeyOrBuilder() {
121     return cryptoKey_ == null
122         ? com.google.privacy.dlp.v2.CryptoKey.getDefaultInstance()
123         : cryptoKey_;
124   }
125 
126   public static final int SURROGATE_INFO_TYPE_FIELD_NUMBER = 2;
127   private com.google.privacy.dlp.v2.InfoType surrogateInfoType_;
128   /**
129    *
130    *
131    * <pre>
132    * The custom info type to annotate the surrogate with.
133    * This annotation will be applied to the surrogate by prefixing it with
134    * the name of the custom info type followed by the number of
135    * characters comprising the surrogate. The following scheme defines the
136    * format: {info type name}({surrogate character count}):{surrogate}
137    * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
138    * the surrogate is 'abc', the full replacement value
139    * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
140    * This annotation identifies the surrogate when inspecting content using the
141    * custom info type 'Surrogate'. This facilitates reversal of the
142    * surrogate when it occurs in free text.
143    * Note: For record transformations where the entire cell in a table is being
144    * transformed, surrogates are not mandatory. Surrogates are used to denote
145    * the location of the token and are necessary for re-identification in free
146    * form text.
147    * In order for inspection to work properly, the name of this info type must
148    * not occur naturally anywhere in your data; otherwise, inspection may either
149    * - reverse a surrogate that does not correspond to an actual identifier
150    * - be unable to parse the surrogate and result in an error
151    * Therefore, choose your custom info type name carefully after considering
152    * what your data looks like. One way to select a name that has a high chance
153    * of yielding reliable detection is to include one or more unicode characters
154    * that are highly improbable to exist in your data.
155    * For example, assuming your data is entered from a regular ASCII keyboard,
156    * the symbol with the hex code point 29DD might be used like so:
157    * ⧝MY_TOKEN_TYPE.
158    * </pre>
159    *
160    * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
161    *
162    * @return Whether the surrogateInfoType field is set.
163    */
164   @java.lang.Override
hasSurrogateInfoType()165   public boolean hasSurrogateInfoType() {
166     return surrogateInfoType_ != null;
167   }
168   /**
169    *
170    *
171    * <pre>
172    * The custom info type to annotate the surrogate with.
173    * This annotation will be applied to the surrogate by prefixing it with
174    * the name of the custom info type followed by the number of
175    * characters comprising the surrogate. The following scheme defines the
176    * format: {info type name}({surrogate character count}):{surrogate}
177    * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
178    * the surrogate is 'abc', the full replacement value
179    * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
180    * This annotation identifies the surrogate when inspecting content using the
181    * custom info type 'Surrogate'. This facilitates reversal of the
182    * surrogate when it occurs in free text.
183    * Note: For record transformations where the entire cell in a table is being
184    * transformed, surrogates are not mandatory. Surrogates are used to denote
185    * the location of the token and are necessary for re-identification in free
186    * form text.
187    * In order for inspection to work properly, the name of this info type must
188    * not occur naturally anywhere in your data; otherwise, inspection may either
189    * - reverse a surrogate that does not correspond to an actual identifier
190    * - be unable to parse the surrogate and result in an error
191    * Therefore, choose your custom info type name carefully after considering
192    * what your data looks like. One way to select a name that has a high chance
193    * of yielding reliable detection is to include one or more unicode characters
194    * that are highly improbable to exist in your data.
195    * For example, assuming your data is entered from a regular ASCII keyboard,
196    * the symbol with the hex code point 29DD might be used like so:
197    * ⧝MY_TOKEN_TYPE.
198    * </pre>
199    *
200    * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
201    *
202    * @return The surrogateInfoType.
203    */
204   @java.lang.Override
getSurrogateInfoType()205   public com.google.privacy.dlp.v2.InfoType getSurrogateInfoType() {
206     return surrogateInfoType_ == null
207         ? com.google.privacy.dlp.v2.InfoType.getDefaultInstance()
208         : surrogateInfoType_;
209   }
210   /**
211    *
212    *
213    * <pre>
214    * The custom info type to annotate the surrogate with.
215    * This annotation will be applied to the surrogate by prefixing it with
216    * the name of the custom info type followed by the number of
217    * characters comprising the surrogate. The following scheme defines the
218    * format: {info type name}({surrogate character count}):{surrogate}
219    * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
220    * the surrogate is 'abc', the full replacement value
221    * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
222    * This annotation identifies the surrogate when inspecting content using the
223    * custom info type 'Surrogate'. This facilitates reversal of the
224    * surrogate when it occurs in free text.
225    * Note: For record transformations where the entire cell in a table is being
226    * transformed, surrogates are not mandatory. Surrogates are used to denote
227    * the location of the token and are necessary for re-identification in free
228    * form text.
229    * In order for inspection to work properly, the name of this info type must
230    * not occur naturally anywhere in your data; otherwise, inspection may either
231    * - reverse a surrogate that does not correspond to an actual identifier
232    * - be unable to parse the surrogate and result in an error
233    * Therefore, choose your custom info type name carefully after considering
234    * what your data looks like. One way to select a name that has a high chance
235    * of yielding reliable detection is to include one or more unicode characters
236    * that are highly improbable to exist in your data.
237    * For example, assuming your data is entered from a regular ASCII keyboard,
238    * the symbol with the hex code point 29DD might be used like so:
239    * ⧝MY_TOKEN_TYPE.
240    * </pre>
241    *
242    * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
243    */
244   @java.lang.Override
getSurrogateInfoTypeOrBuilder()245   public com.google.privacy.dlp.v2.InfoTypeOrBuilder getSurrogateInfoTypeOrBuilder() {
246     return surrogateInfoType_ == null
247         ? com.google.privacy.dlp.v2.InfoType.getDefaultInstance()
248         : surrogateInfoType_;
249   }
250 
251   public static final int CONTEXT_FIELD_NUMBER = 3;
252   private com.google.privacy.dlp.v2.FieldId context_;
253   /**
254    *
255    *
256    * <pre>
257    * A context may be used for higher security and maintaining
258    * referential integrity such that the same identifier in two different
259    * contexts will be given a distinct surrogate. The context is appended to
260    * plaintext value being encrypted. On decryption the provided context is
261    * validated against the value used during encryption. If a context was
262    * provided during encryption, same context must be provided during decryption
263    * as well.
264    * If the context is not set, plaintext would be used as is for encryption.
265    * If the context is set but:
266    * 1. there is no record present when transforming a given value or
267    * 2. the field is not present when transforming a given value,
268    * plaintext would be used as is for encryption.
269    * Note that case (1) is expected when an `InfoTypeTransformation` is
270    * applied to both structured and unstructured `ContentItem`s.
271    * </pre>
272    *
273    * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
274    *
275    * @return Whether the context field is set.
276    */
277   @java.lang.Override
hasContext()278   public boolean hasContext() {
279     return context_ != null;
280   }
281   /**
282    *
283    *
284    * <pre>
285    * A context may be used for higher security and maintaining
286    * referential integrity such that the same identifier in two different
287    * contexts will be given a distinct surrogate. The context is appended to
288    * plaintext value being encrypted. On decryption the provided context is
289    * validated against the value used during encryption. If a context was
290    * provided during encryption, same context must be provided during decryption
291    * as well.
292    * If the context is not set, plaintext would be used as is for encryption.
293    * If the context is set but:
294    * 1. there is no record present when transforming a given value or
295    * 2. the field is not present when transforming a given value,
296    * plaintext would be used as is for encryption.
297    * Note that case (1) is expected when an `InfoTypeTransformation` is
298    * applied to both structured and unstructured `ContentItem`s.
299    * </pre>
300    *
301    * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
302    *
303    * @return The context.
304    */
305   @java.lang.Override
getContext()306   public com.google.privacy.dlp.v2.FieldId getContext() {
307     return context_ == null ? com.google.privacy.dlp.v2.FieldId.getDefaultInstance() : context_;
308   }
309   /**
310    *
311    *
312    * <pre>
313    * A context may be used for higher security and maintaining
314    * referential integrity such that the same identifier in two different
315    * contexts will be given a distinct surrogate. The context is appended to
316    * plaintext value being encrypted. On decryption the provided context is
317    * validated against the value used during encryption. If a context was
318    * provided during encryption, same context must be provided during decryption
319    * as well.
320    * If the context is not set, plaintext would be used as is for encryption.
321    * If the context is set but:
322    * 1. there is no record present when transforming a given value or
323    * 2. the field is not present when transforming a given value,
324    * plaintext would be used as is for encryption.
325    * Note that case (1) is expected when an `InfoTypeTransformation` is
326    * applied to both structured and unstructured `ContentItem`s.
327    * </pre>
328    *
329    * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
330    */
331   @java.lang.Override
getContextOrBuilder()332   public com.google.privacy.dlp.v2.FieldIdOrBuilder getContextOrBuilder() {
333     return context_ == null ? com.google.privacy.dlp.v2.FieldId.getDefaultInstance() : context_;
334   }
335 
336   private byte memoizedIsInitialized = -1;
337 
338   @java.lang.Override
isInitialized()339   public final boolean isInitialized() {
340     byte isInitialized = memoizedIsInitialized;
341     if (isInitialized == 1) return true;
342     if (isInitialized == 0) return false;
343 
344     memoizedIsInitialized = 1;
345     return true;
346   }
347 
348   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)349   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
350     if (cryptoKey_ != null) {
351       output.writeMessage(1, getCryptoKey());
352     }
353     if (surrogateInfoType_ != null) {
354       output.writeMessage(2, getSurrogateInfoType());
355     }
356     if (context_ != null) {
357       output.writeMessage(3, getContext());
358     }
359     getUnknownFields().writeTo(output);
360   }
361 
362   @java.lang.Override
getSerializedSize()363   public int getSerializedSize() {
364     int size = memoizedSize;
365     if (size != -1) return size;
366 
367     size = 0;
368     if (cryptoKey_ != null) {
369       size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getCryptoKey());
370     }
371     if (surrogateInfoType_ != null) {
372       size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getSurrogateInfoType());
373     }
374     if (context_ != null) {
375       size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getContext());
376     }
377     size += getUnknownFields().getSerializedSize();
378     memoizedSize = size;
379     return size;
380   }
381 
382   @java.lang.Override
equals(final java.lang.Object obj)383   public boolean equals(final java.lang.Object obj) {
384     if (obj == this) {
385       return true;
386     }
387     if (!(obj instanceof com.google.privacy.dlp.v2.CryptoDeterministicConfig)) {
388       return super.equals(obj);
389     }
390     com.google.privacy.dlp.v2.CryptoDeterministicConfig other =
391         (com.google.privacy.dlp.v2.CryptoDeterministicConfig) obj;
392 
393     if (hasCryptoKey() != other.hasCryptoKey()) return false;
394     if (hasCryptoKey()) {
395       if (!getCryptoKey().equals(other.getCryptoKey())) return false;
396     }
397     if (hasSurrogateInfoType() != other.hasSurrogateInfoType()) return false;
398     if (hasSurrogateInfoType()) {
399       if (!getSurrogateInfoType().equals(other.getSurrogateInfoType())) return false;
400     }
401     if (hasContext() != other.hasContext()) return false;
402     if (hasContext()) {
403       if (!getContext().equals(other.getContext())) return false;
404     }
405     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
406     return true;
407   }
408 
409   @java.lang.Override
hashCode()410   public int hashCode() {
411     if (memoizedHashCode != 0) {
412       return memoizedHashCode;
413     }
414     int hash = 41;
415     hash = (19 * hash) + getDescriptor().hashCode();
416     if (hasCryptoKey()) {
417       hash = (37 * hash) + CRYPTO_KEY_FIELD_NUMBER;
418       hash = (53 * hash) + getCryptoKey().hashCode();
419     }
420     if (hasSurrogateInfoType()) {
421       hash = (37 * hash) + SURROGATE_INFO_TYPE_FIELD_NUMBER;
422       hash = (53 * hash) + getSurrogateInfoType().hashCode();
423     }
424     if (hasContext()) {
425       hash = (37 * hash) + CONTEXT_FIELD_NUMBER;
426       hash = (53 * hash) + getContext().hashCode();
427     }
428     hash = (29 * hash) + getUnknownFields().hashCode();
429     memoizedHashCode = hash;
430     return hash;
431   }
432 
parseFrom( java.nio.ByteBuffer data)433   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(
434       java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
435     return PARSER.parseFrom(data);
436   }
437 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)438   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(
439       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
440       throws com.google.protobuf.InvalidProtocolBufferException {
441     return PARSER.parseFrom(data, extensionRegistry);
442   }
443 
parseFrom( com.google.protobuf.ByteString data)444   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(
445       com.google.protobuf.ByteString data)
446       throws com.google.protobuf.InvalidProtocolBufferException {
447     return PARSER.parseFrom(data);
448   }
449 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)450   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(
451       com.google.protobuf.ByteString data,
452       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
453       throws com.google.protobuf.InvalidProtocolBufferException {
454     return PARSER.parseFrom(data, extensionRegistry);
455   }
456 
parseFrom(byte[] data)457   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(byte[] data)
458       throws com.google.protobuf.InvalidProtocolBufferException {
459     return PARSER.parseFrom(data);
460   }
461 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)462   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(
463       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
464       throws com.google.protobuf.InvalidProtocolBufferException {
465     return PARSER.parseFrom(data, extensionRegistry);
466   }
467 
parseFrom( java.io.InputStream input)468   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(
469       java.io.InputStream input) throws java.io.IOException {
470     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
471   }
472 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)473   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(
474       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
475       throws java.io.IOException {
476     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
477         PARSER, input, extensionRegistry);
478   }
479 
parseDelimitedFrom( java.io.InputStream input)480   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseDelimitedFrom(
481       java.io.InputStream input) throws java.io.IOException {
482     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
483   }
484 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)485   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseDelimitedFrom(
486       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
487       throws java.io.IOException {
488     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
489         PARSER, input, extensionRegistry);
490   }
491 
parseFrom( com.google.protobuf.CodedInputStream input)492   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(
493       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
494     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
495   }
496 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)497   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig parseFrom(
498       com.google.protobuf.CodedInputStream input,
499       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
500       throws java.io.IOException {
501     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
502         PARSER, input, extensionRegistry);
503   }
504 
505   @java.lang.Override
newBuilderForType()506   public Builder newBuilderForType() {
507     return newBuilder();
508   }
509 
newBuilder()510   public static Builder newBuilder() {
511     return DEFAULT_INSTANCE.toBuilder();
512   }
513 
newBuilder(com.google.privacy.dlp.v2.CryptoDeterministicConfig prototype)514   public static Builder newBuilder(com.google.privacy.dlp.v2.CryptoDeterministicConfig prototype) {
515     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
516   }
517 
518   @java.lang.Override
toBuilder()519   public Builder toBuilder() {
520     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
521   }
522 
523   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)524   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
525     Builder builder = new Builder(parent);
526     return builder;
527   }
528   /**
529    *
530    *
531    * <pre>
532    * Pseudonymization method that generates deterministic encryption for the given
533    * input. Outputs a base64 encoded representation of the encrypted output.
534    * Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297.
535    * </pre>
536    *
537    * Protobuf type {@code google.privacy.dlp.v2.CryptoDeterministicConfig}
538    */
539   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
540       implements
541       // @@protoc_insertion_point(builder_implements:google.privacy.dlp.v2.CryptoDeterministicConfig)
542       com.google.privacy.dlp.v2.CryptoDeterministicConfigOrBuilder {
getDescriptor()543     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
544       return com.google.privacy.dlp.v2.DlpProto
545           .internal_static_google_privacy_dlp_v2_CryptoDeterministicConfig_descriptor;
546     }
547 
548     @java.lang.Override
549     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()550         internalGetFieldAccessorTable() {
551       return com.google.privacy.dlp.v2.DlpProto
552           .internal_static_google_privacy_dlp_v2_CryptoDeterministicConfig_fieldAccessorTable
553           .ensureFieldAccessorsInitialized(
554               com.google.privacy.dlp.v2.CryptoDeterministicConfig.class,
555               com.google.privacy.dlp.v2.CryptoDeterministicConfig.Builder.class);
556     }
557 
558     // Construct using com.google.privacy.dlp.v2.CryptoDeterministicConfig.newBuilder()
Builder()559     private Builder() {}
560 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)561     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
562       super(parent);
563     }
564 
565     @java.lang.Override
clear()566     public Builder clear() {
567       super.clear();
568       bitField0_ = 0;
569       cryptoKey_ = null;
570       if (cryptoKeyBuilder_ != null) {
571         cryptoKeyBuilder_.dispose();
572         cryptoKeyBuilder_ = null;
573       }
574       surrogateInfoType_ = null;
575       if (surrogateInfoTypeBuilder_ != null) {
576         surrogateInfoTypeBuilder_.dispose();
577         surrogateInfoTypeBuilder_ = null;
578       }
579       context_ = null;
580       if (contextBuilder_ != null) {
581         contextBuilder_.dispose();
582         contextBuilder_ = null;
583       }
584       return this;
585     }
586 
587     @java.lang.Override
getDescriptorForType()588     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
589       return com.google.privacy.dlp.v2.DlpProto
590           .internal_static_google_privacy_dlp_v2_CryptoDeterministicConfig_descriptor;
591     }
592 
593     @java.lang.Override
getDefaultInstanceForType()594     public com.google.privacy.dlp.v2.CryptoDeterministicConfig getDefaultInstanceForType() {
595       return com.google.privacy.dlp.v2.CryptoDeterministicConfig.getDefaultInstance();
596     }
597 
598     @java.lang.Override
build()599     public com.google.privacy.dlp.v2.CryptoDeterministicConfig build() {
600       com.google.privacy.dlp.v2.CryptoDeterministicConfig result = buildPartial();
601       if (!result.isInitialized()) {
602         throw newUninitializedMessageException(result);
603       }
604       return result;
605     }
606 
607     @java.lang.Override
buildPartial()608     public com.google.privacy.dlp.v2.CryptoDeterministicConfig buildPartial() {
609       com.google.privacy.dlp.v2.CryptoDeterministicConfig result =
610           new com.google.privacy.dlp.v2.CryptoDeterministicConfig(this);
611       if (bitField0_ != 0) {
612         buildPartial0(result);
613       }
614       onBuilt();
615       return result;
616     }
617 
buildPartial0(com.google.privacy.dlp.v2.CryptoDeterministicConfig result)618     private void buildPartial0(com.google.privacy.dlp.v2.CryptoDeterministicConfig result) {
619       int from_bitField0_ = bitField0_;
620       if (((from_bitField0_ & 0x00000001) != 0)) {
621         result.cryptoKey_ = cryptoKeyBuilder_ == null ? cryptoKey_ : cryptoKeyBuilder_.build();
622       }
623       if (((from_bitField0_ & 0x00000002) != 0)) {
624         result.surrogateInfoType_ =
625             surrogateInfoTypeBuilder_ == null
626                 ? surrogateInfoType_
627                 : surrogateInfoTypeBuilder_.build();
628       }
629       if (((from_bitField0_ & 0x00000004) != 0)) {
630         result.context_ = contextBuilder_ == null ? context_ : contextBuilder_.build();
631       }
632     }
633 
634     @java.lang.Override
clone()635     public Builder clone() {
636       return super.clone();
637     }
638 
639     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)640     public Builder setField(
641         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
642       return super.setField(field, value);
643     }
644 
645     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)646     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
647       return super.clearField(field);
648     }
649 
650     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)651     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
652       return super.clearOneof(oneof);
653     }
654 
655     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)656     public Builder setRepeatedField(
657         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
658       return super.setRepeatedField(field, index, value);
659     }
660 
661     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)662     public Builder addRepeatedField(
663         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
664       return super.addRepeatedField(field, value);
665     }
666 
667     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)668     public Builder mergeFrom(com.google.protobuf.Message other) {
669       if (other instanceof com.google.privacy.dlp.v2.CryptoDeterministicConfig) {
670         return mergeFrom((com.google.privacy.dlp.v2.CryptoDeterministicConfig) other);
671       } else {
672         super.mergeFrom(other);
673         return this;
674       }
675     }
676 
mergeFrom(com.google.privacy.dlp.v2.CryptoDeterministicConfig other)677     public Builder mergeFrom(com.google.privacy.dlp.v2.CryptoDeterministicConfig other) {
678       if (other == com.google.privacy.dlp.v2.CryptoDeterministicConfig.getDefaultInstance())
679         return this;
680       if (other.hasCryptoKey()) {
681         mergeCryptoKey(other.getCryptoKey());
682       }
683       if (other.hasSurrogateInfoType()) {
684         mergeSurrogateInfoType(other.getSurrogateInfoType());
685       }
686       if (other.hasContext()) {
687         mergeContext(other.getContext());
688       }
689       this.mergeUnknownFields(other.getUnknownFields());
690       onChanged();
691       return this;
692     }
693 
694     @java.lang.Override
isInitialized()695     public final boolean isInitialized() {
696       return true;
697     }
698 
699     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)700     public Builder mergeFrom(
701         com.google.protobuf.CodedInputStream input,
702         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
703         throws java.io.IOException {
704       if (extensionRegistry == null) {
705         throw new java.lang.NullPointerException();
706       }
707       try {
708         boolean done = false;
709         while (!done) {
710           int tag = input.readTag();
711           switch (tag) {
712             case 0:
713               done = true;
714               break;
715             case 10:
716               {
717                 input.readMessage(getCryptoKeyFieldBuilder().getBuilder(), extensionRegistry);
718                 bitField0_ |= 0x00000001;
719                 break;
720               } // case 10
721             case 18:
722               {
723                 input.readMessage(
724                     getSurrogateInfoTypeFieldBuilder().getBuilder(), extensionRegistry);
725                 bitField0_ |= 0x00000002;
726                 break;
727               } // case 18
728             case 26:
729               {
730                 input.readMessage(getContextFieldBuilder().getBuilder(), extensionRegistry);
731                 bitField0_ |= 0x00000004;
732                 break;
733               } // case 26
734             default:
735               {
736                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
737                   done = true; // was an endgroup tag
738                 }
739                 break;
740               } // default:
741           } // switch (tag)
742         } // while (!done)
743       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
744         throw e.unwrapIOException();
745       } finally {
746         onChanged();
747       } // finally
748       return this;
749     }
750 
751     private int bitField0_;
752 
753     private com.google.privacy.dlp.v2.CryptoKey cryptoKey_;
754     private com.google.protobuf.SingleFieldBuilderV3<
755             com.google.privacy.dlp.v2.CryptoKey,
756             com.google.privacy.dlp.v2.CryptoKey.Builder,
757             com.google.privacy.dlp.v2.CryptoKeyOrBuilder>
758         cryptoKeyBuilder_;
759     /**
760      *
761      *
762      * <pre>
763      * The key used by the encryption function. For deterministic encryption
764      * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
765      * use.
766      * </pre>
767      *
768      * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
769      *
770      * @return Whether the cryptoKey field is set.
771      */
hasCryptoKey()772     public boolean hasCryptoKey() {
773       return ((bitField0_ & 0x00000001) != 0);
774     }
775     /**
776      *
777      *
778      * <pre>
779      * The key used by the encryption function. For deterministic encryption
780      * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
781      * use.
782      * </pre>
783      *
784      * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
785      *
786      * @return The cryptoKey.
787      */
getCryptoKey()788     public com.google.privacy.dlp.v2.CryptoKey getCryptoKey() {
789       if (cryptoKeyBuilder_ == null) {
790         return cryptoKey_ == null
791             ? com.google.privacy.dlp.v2.CryptoKey.getDefaultInstance()
792             : cryptoKey_;
793       } else {
794         return cryptoKeyBuilder_.getMessage();
795       }
796     }
797     /**
798      *
799      *
800      * <pre>
801      * The key used by the encryption function. For deterministic encryption
802      * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
803      * use.
804      * </pre>
805      *
806      * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
807      */
setCryptoKey(com.google.privacy.dlp.v2.CryptoKey value)808     public Builder setCryptoKey(com.google.privacy.dlp.v2.CryptoKey value) {
809       if (cryptoKeyBuilder_ == null) {
810         if (value == null) {
811           throw new NullPointerException();
812         }
813         cryptoKey_ = value;
814       } else {
815         cryptoKeyBuilder_.setMessage(value);
816       }
817       bitField0_ |= 0x00000001;
818       onChanged();
819       return this;
820     }
821     /**
822      *
823      *
824      * <pre>
825      * The key used by the encryption function. For deterministic encryption
826      * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
827      * use.
828      * </pre>
829      *
830      * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
831      */
setCryptoKey(com.google.privacy.dlp.v2.CryptoKey.Builder builderForValue)832     public Builder setCryptoKey(com.google.privacy.dlp.v2.CryptoKey.Builder builderForValue) {
833       if (cryptoKeyBuilder_ == null) {
834         cryptoKey_ = builderForValue.build();
835       } else {
836         cryptoKeyBuilder_.setMessage(builderForValue.build());
837       }
838       bitField0_ |= 0x00000001;
839       onChanged();
840       return this;
841     }
842     /**
843      *
844      *
845      * <pre>
846      * The key used by the encryption function. For deterministic encryption
847      * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
848      * use.
849      * </pre>
850      *
851      * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
852      */
mergeCryptoKey(com.google.privacy.dlp.v2.CryptoKey value)853     public Builder mergeCryptoKey(com.google.privacy.dlp.v2.CryptoKey value) {
854       if (cryptoKeyBuilder_ == null) {
855         if (((bitField0_ & 0x00000001) != 0)
856             && cryptoKey_ != null
857             && cryptoKey_ != com.google.privacy.dlp.v2.CryptoKey.getDefaultInstance()) {
858           getCryptoKeyBuilder().mergeFrom(value);
859         } else {
860           cryptoKey_ = value;
861         }
862       } else {
863         cryptoKeyBuilder_.mergeFrom(value);
864       }
865       bitField0_ |= 0x00000001;
866       onChanged();
867       return this;
868     }
869     /**
870      *
871      *
872      * <pre>
873      * The key used by the encryption function. For deterministic encryption
874      * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
875      * use.
876      * </pre>
877      *
878      * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
879      */
clearCryptoKey()880     public Builder clearCryptoKey() {
881       bitField0_ = (bitField0_ & ~0x00000001);
882       cryptoKey_ = null;
883       if (cryptoKeyBuilder_ != null) {
884         cryptoKeyBuilder_.dispose();
885         cryptoKeyBuilder_ = null;
886       }
887       onChanged();
888       return this;
889     }
890     /**
891      *
892      *
893      * <pre>
894      * The key used by the encryption function. For deterministic encryption
895      * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
896      * use.
897      * </pre>
898      *
899      * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
900      */
getCryptoKeyBuilder()901     public com.google.privacy.dlp.v2.CryptoKey.Builder getCryptoKeyBuilder() {
902       bitField0_ |= 0x00000001;
903       onChanged();
904       return getCryptoKeyFieldBuilder().getBuilder();
905     }
906     /**
907      *
908      *
909      * <pre>
910      * The key used by the encryption function. For deterministic encryption
911      * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
912      * use.
913      * </pre>
914      *
915      * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
916      */
getCryptoKeyOrBuilder()917     public com.google.privacy.dlp.v2.CryptoKeyOrBuilder getCryptoKeyOrBuilder() {
918       if (cryptoKeyBuilder_ != null) {
919         return cryptoKeyBuilder_.getMessageOrBuilder();
920       } else {
921         return cryptoKey_ == null
922             ? com.google.privacy.dlp.v2.CryptoKey.getDefaultInstance()
923             : cryptoKey_;
924       }
925     }
926     /**
927      *
928      *
929      * <pre>
930      * The key used by the encryption function. For deterministic encryption
931      * using AES-SIV, the provided key is internally expanded to 64 bytes prior to
932      * use.
933      * </pre>
934      *
935      * <code>.google.privacy.dlp.v2.CryptoKey crypto_key = 1;</code>
936      */
937     private com.google.protobuf.SingleFieldBuilderV3<
938             com.google.privacy.dlp.v2.CryptoKey,
939             com.google.privacy.dlp.v2.CryptoKey.Builder,
940             com.google.privacy.dlp.v2.CryptoKeyOrBuilder>
getCryptoKeyFieldBuilder()941         getCryptoKeyFieldBuilder() {
942       if (cryptoKeyBuilder_ == null) {
943         cryptoKeyBuilder_ =
944             new com.google.protobuf.SingleFieldBuilderV3<
945                 com.google.privacy.dlp.v2.CryptoKey,
946                 com.google.privacy.dlp.v2.CryptoKey.Builder,
947                 com.google.privacy.dlp.v2.CryptoKeyOrBuilder>(
948                 getCryptoKey(), getParentForChildren(), isClean());
949         cryptoKey_ = null;
950       }
951       return cryptoKeyBuilder_;
952     }
953 
954     private com.google.privacy.dlp.v2.InfoType surrogateInfoType_;
955     private com.google.protobuf.SingleFieldBuilderV3<
956             com.google.privacy.dlp.v2.InfoType,
957             com.google.privacy.dlp.v2.InfoType.Builder,
958             com.google.privacy.dlp.v2.InfoTypeOrBuilder>
959         surrogateInfoTypeBuilder_;
960     /**
961      *
962      *
963      * <pre>
964      * The custom info type to annotate the surrogate with.
965      * This annotation will be applied to the surrogate by prefixing it with
966      * the name of the custom info type followed by the number of
967      * characters comprising the surrogate. The following scheme defines the
968      * format: {info type name}({surrogate character count}):{surrogate}
969      * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
970      * the surrogate is 'abc', the full replacement value
971      * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
972      * This annotation identifies the surrogate when inspecting content using the
973      * custom info type 'Surrogate'. This facilitates reversal of the
974      * surrogate when it occurs in free text.
975      * Note: For record transformations where the entire cell in a table is being
976      * transformed, surrogates are not mandatory. Surrogates are used to denote
977      * the location of the token and are necessary for re-identification in free
978      * form text.
979      * In order for inspection to work properly, the name of this info type must
980      * not occur naturally anywhere in your data; otherwise, inspection may either
981      * - reverse a surrogate that does not correspond to an actual identifier
982      * - be unable to parse the surrogate and result in an error
983      * Therefore, choose your custom info type name carefully after considering
984      * what your data looks like. One way to select a name that has a high chance
985      * of yielding reliable detection is to include one or more unicode characters
986      * that are highly improbable to exist in your data.
987      * For example, assuming your data is entered from a regular ASCII keyboard,
988      * the symbol with the hex code point 29DD might be used like so:
989      * ⧝MY_TOKEN_TYPE.
990      * </pre>
991      *
992      * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
993      *
994      * @return Whether the surrogateInfoType field is set.
995      */
hasSurrogateInfoType()996     public boolean hasSurrogateInfoType() {
997       return ((bitField0_ & 0x00000002) != 0);
998     }
999     /**
1000      *
1001      *
1002      * <pre>
1003      * The custom info type to annotate the surrogate with.
1004      * This annotation will be applied to the surrogate by prefixing it with
1005      * the name of the custom info type followed by the number of
1006      * characters comprising the surrogate. The following scheme defines the
1007      * format: {info type name}({surrogate character count}):{surrogate}
1008      * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
1009      * the surrogate is 'abc', the full replacement value
1010      * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1011      * This annotation identifies the surrogate when inspecting content using the
1012      * custom info type 'Surrogate'. This facilitates reversal of the
1013      * surrogate when it occurs in free text.
1014      * Note: For record transformations where the entire cell in a table is being
1015      * transformed, surrogates are not mandatory. Surrogates are used to denote
1016      * the location of the token and are necessary for re-identification in free
1017      * form text.
1018      * In order for inspection to work properly, the name of this info type must
1019      * not occur naturally anywhere in your data; otherwise, inspection may either
1020      * - reverse a surrogate that does not correspond to an actual identifier
1021      * - be unable to parse the surrogate and result in an error
1022      * Therefore, choose your custom info type name carefully after considering
1023      * what your data looks like. One way to select a name that has a high chance
1024      * of yielding reliable detection is to include one or more unicode characters
1025      * that are highly improbable to exist in your data.
1026      * For example, assuming your data is entered from a regular ASCII keyboard,
1027      * the symbol with the hex code point 29DD might be used like so:
1028      * ⧝MY_TOKEN_TYPE.
1029      * </pre>
1030      *
1031      * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
1032      *
1033      * @return The surrogateInfoType.
1034      */
getSurrogateInfoType()1035     public com.google.privacy.dlp.v2.InfoType getSurrogateInfoType() {
1036       if (surrogateInfoTypeBuilder_ == null) {
1037         return surrogateInfoType_ == null
1038             ? com.google.privacy.dlp.v2.InfoType.getDefaultInstance()
1039             : surrogateInfoType_;
1040       } else {
1041         return surrogateInfoTypeBuilder_.getMessage();
1042       }
1043     }
1044     /**
1045      *
1046      *
1047      * <pre>
1048      * The custom info type to annotate the surrogate with.
1049      * This annotation will be applied to the surrogate by prefixing it with
1050      * the name of the custom info type followed by the number of
1051      * characters comprising the surrogate. The following scheme defines the
1052      * format: {info type name}({surrogate character count}):{surrogate}
1053      * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
1054      * the surrogate is 'abc', the full replacement value
1055      * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1056      * This annotation identifies the surrogate when inspecting content using the
1057      * custom info type 'Surrogate'. This facilitates reversal of the
1058      * surrogate when it occurs in free text.
1059      * Note: For record transformations where the entire cell in a table is being
1060      * transformed, surrogates are not mandatory. Surrogates are used to denote
1061      * the location of the token and are necessary for re-identification in free
1062      * form text.
1063      * In order for inspection to work properly, the name of this info type must
1064      * not occur naturally anywhere in your data; otherwise, inspection may either
1065      * - reverse a surrogate that does not correspond to an actual identifier
1066      * - be unable to parse the surrogate and result in an error
1067      * Therefore, choose your custom info type name carefully after considering
1068      * what your data looks like. One way to select a name that has a high chance
1069      * of yielding reliable detection is to include one or more unicode characters
1070      * that are highly improbable to exist in your data.
1071      * For example, assuming your data is entered from a regular ASCII keyboard,
1072      * the symbol with the hex code point 29DD might be used like so:
1073      * ⧝MY_TOKEN_TYPE.
1074      * </pre>
1075      *
1076      * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
1077      */
setSurrogateInfoType(com.google.privacy.dlp.v2.InfoType value)1078     public Builder setSurrogateInfoType(com.google.privacy.dlp.v2.InfoType value) {
1079       if (surrogateInfoTypeBuilder_ == null) {
1080         if (value == null) {
1081           throw new NullPointerException();
1082         }
1083         surrogateInfoType_ = value;
1084       } else {
1085         surrogateInfoTypeBuilder_.setMessage(value);
1086       }
1087       bitField0_ |= 0x00000002;
1088       onChanged();
1089       return this;
1090     }
1091     /**
1092      *
1093      *
1094      * <pre>
1095      * The custom info type to annotate the surrogate with.
1096      * This annotation will be applied to the surrogate by prefixing it with
1097      * the name of the custom info type followed by the number of
1098      * characters comprising the surrogate. The following scheme defines the
1099      * format: {info type name}({surrogate character count}):{surrogate}
1100      * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
1101      * the surrogate is 'abc', the full replacement value
1102      * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1103      * This annotation identifies the surrogate when inspecting content using the
1104      * custom info type 'Surrogate'. This facilitates reversal of the
1105      * surrogate when it occurs in free text.
1106      * Note: For record transformations where the entire cell in a table is being
1107      * transformed, surrogates are not mandatory. Surrogates are used to denote
1108      * the location of the token and are necessary for re-identification in free
1109      * form text.
1110      * In order for inspection to work properly, the name of this info type must
1111      * not occur naturally anywhere in your data; otherwise, inspection may either
1112      * - reverse a surrogate that does not correspond to an actual identifier
1113      * - be unable to parse the surrogate and result in an error
1114      * Therefore, choose your custom info type name carefully after considering
1115      * what your data looks like. One way to select a name that has a high chance
1116      * of yielding reliable detection is to include one or more unicode characters
1117      * that are highly improbable to exist in your data.
1118      * For example, assuming your data is entered from a regular ASCII keyboard,
1119      * the symbol with the hex code point 29DD might be used like so:
1120      * ⧝MY_TOKEN_TYPE.
1121      * </pre>
1122      *
1123      * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
1124      */
setSurrogateInfoType( com.google.privacy.dlp.v2.InfoType.Builder builderForValue)1125     public Builder setSurrogateInfoType(
1126         com.google.privacy.dlp.v2.InfoType.Builder builderForValue) {
1127       if (surrogateInfoTypeBuilder_ == null) {
1128         surrogateInfoType_ = builderForValue.build();
1129       } else {
1130         surrogateInfoTypeBuilder_.setMessage(builderForValue.build());
1131       }
1132       bitField0_ |= 0x00000002;
1133       onChanged();
1134       return this;
1135     }
1136     /**
1137      *
1138      *
1139      * <pre>
1140      * The custom info type to annotate the surrogate with.
1141      * This annotation will be applied to the surrogate by prefixing it with
1142      * the name of the custom info type followed by the number of
1143      * characters comprising the surrogate. The following scheme defines the
1144      * format: {info type name}({surrogate character count}):{surrogate}
1145      * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
1146      * the surrogate is 'abc', the full replacement value
1147      * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1148      * This annotation identifies the surrogate when inspecting content using the
1149      * custom info type 'Surrogate'. This facilitates reversal of the
1150      * surrogate when it occurs in free text.
1151      * Note: For record transformations where the entire cell in a table is being
1152      * transformed, surrogates are not mandatory. Surrogates are used to denote
1153      * the location of the token and are necessary for re-identification in free
1154      * form text.
1155      * In order for inspection to work properly, the name of this info type must
1156      * not occur naturally anywhere in your data; otherwise, inspection may either
1157      * - reverse a surrogate that does not correspond to an actual identifier
1158      * - be unable to parse the surrogate and result in an error
1159      * Therefore, choose your custom info type name carefully after considering
1160      * what your data looks like. One way to select a name that has a high chance
1161      * of yielding reliable detection is to include one or more unicode characters
1162      * that are highly improbable to exist in your data.
1163      * For example, assuming your data is entered from a regular ASCII keyboard,
1164      * the symbol with the hex code point 29DD might be used like so:
1165      * ⧝MY_TOKEN_TYPE.
1166      * </pre>
1167      *
1168      * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
1169      */
mergeSurrogateInfoType(com.google.privacy.dlp.v2.InfoType value)1170     public Builder mergeSurrogateInfoType(com.google.privacy.dlp.v2.InfoType value) {
1171       if (surrogateInfoTypeBuilder_ == null) {
1172         if (((bitField0_ & 0x00000002) != 0)
1173             && surrogateInfoType_ != null
1174             && surrogateInfoType_ != com.google.privacy.dlp.v2.InfoType.getDefaultInstance()) {
1175           getSurrogateInfoTypeBuilder().mergeFrom(value);
1176         } else {
1177           surrogateInfoType_ = value;
1178         }
1179       } else {
1180         surrogateInfoTypeBuilder_.mergeFrom(value);
1181       }
1182       bitField0_ |= 0x00000002;
1183       onChanged();
1184       return this;
1185     }
1186     /**
1187      *
1188      *
1189      * <pre>
1190      * The custom info type to annotate the surrogate with.
1191      * This annotation will be applied to the surrogate by prefixing it with
1192      * the name of the custom info type followed by the number of
1193      * characters comprising the surrogate. The following scheme defines the
1194      * format: {info type name}({surrogate character count}):{surrogate}
1195      * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
1196      * the surrogate is 'abc', the full replacement value
1197      * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1198      * This annotation identifies the surrogate when inspecting content using the
1199      * custom info type 'Surrogate'. This facilitates reversal of the
1200      * surrogate when it occurs in free text.
1201      * Note: For record transformations where the entire cell in a table is being
1202      * transformed, surrogates are not mandatory. Surrogates are used to denote
1203      * the location of the token and are necessary for re-identification in free
1204      * form text.
1205      * In order for inspection to work properly, the name of this info type must
1206      * not occur naturally anywhere in your data; otherwise, inspection may either
1207      * - reverse a surrogate that does not correspond to an actual identifier
1208      * - be unable to parse the surrogate and result in an error
1209      * Therefore, choose your custom info type name carefully after considering
1210      * what your data looks like. One way to select a name that has a high chance
1211      * of yielding reliable detection is to include one or more unicode characters
1212      * that are highly improbable to exist in your data.
1213      * For example, assuming your data is entered from a regular ASCII keyboard,
1214      * the symbol with the hex code point 29DD might be used like so:
1215      * ⧝MY_TOKEN_TYPE.
1216      * </pre>
1217      *
1218      * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
1219      */
clearSurrogateInfoType()1220     public Builder clearSurrogateInfoType() {
1221       bitField0_ = (bitField0_ & ~0x00000002);
1222       surrogateInfoType_ = null;
1223       if (surrogateInfoTypeBuilder_ != null) {
1224         surrogateInfoTypeBuilder_.dispose();
1225         surrogateInfoTypeBuilder_ = null;
1226       }
1227       onChanged();
1228       return this;
1229     }
1230     /**
1231      *
1232      *
1233      * <pre>
1234      * The custom info type to annotate the surrogate with.
1235      * This annotation will be applied to the surrogate by prefixing it with
1236      * the name of the custom info type followed by the number of
1237      * characters comprising the surrogate. The following scheme defines the
1238      * format: {info type name}({surrogate character count}):{surrogate}
1239      * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
1240      * the surrogate is 'abc', the full replacement value
1241      * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1242      * This annotation identifies the surrogate when inspecting content using the
1243      * custom info type 'Surrogate'. This facilitates reversal of the
1244      * surrogate when it occurs in free text.
1245      * Note: For record transformations where the entire cell in a table is being
1246      * transformed, surrogates are not mandatory. Surrogates are used to denote
1247      * the location of the token and are necessary for re-identification in free
1248      * form text.
1249      * In order for inspection to work properly, the name of this info type must
1250      * not occur naturally anywhere in your data; otherwise, inspection may either
1251      * - reverse a surrogate that does not correspond to an actual identifier
1252      * - be unable to parse the surrogate and result in an error
1253      * Therefore, choose your custom info type name carefully after considering
1254      * what your data looks like. One way to select a name that has a high chance
1255      * of yielding reliable detection is to include one or more unicode characters
1256      * that are highly improbable to exist in your data.
1257      * For example, assuming your data is entered from a regular ASCII keyboard,
1258      * the symbol with the hex code point 29DD might be used like so:
1259      * ⧝MY_TOKEN_TYPE.
1260      * </pre>
1261      *
1262      * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
1263      */
getSurrogateInfoTypeBuilder()1264     public com.google.privacy.dlp.v2.InfoType.Builder getSurrogateInfoTypeBuilder() {
1265       bitField0_ |= 0x00000002;
1266       onChanged();
1267       return getSurrogateInfoTypeFieldBuilder().getBuilder();
1268     }
1269     /**
1270      *
1271      *
1272      * <pre>
1273      * The custom info type to annotate the surrogate with.
1274      * This annotation will be applied to the surrogate by prefixing it with
1275      * the name of the custom info type followed by the number of
1276      * characters comprising the surrogate. The following scheme defines the
1277      * format: {info type name}({surrogate character count}):{surrogate}
1278      * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
1279      * the surrogate is 'abc', the full replacement value
1280      * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1281      * This annotation identifies the surrogate when inspecting content using the
1282      * custom info type 'Surrogate'. This facilitates reversal of the
1283      * surrogate when it occurs in free text.
1284      * Note: For record transformations where the entire cell in a table is being
1285      * transformed, surrogates are not mandatory. Surrogates are used to denote
1286      * the location of the token and are necessary for re-identification in free
1287      * form text.
1288      * In order for inspection to work properly, the name of this info type must
1289      * not occur naturally anywhere in your data; otherwise, inspection may either
1290      * - reverse a surrogate that does not correspond to an actual identifier
1291      * - be unable to parse the surrogate and result in an error
1292      * Therefore, choose your custom info type name carefully after considering
1293      * what your data looks like. One way to select a name that has a high chance
1294      * of yielding reliable detection is to include one or more unicode characters
1295      * that are highly improbable to exist in your data.
1296      * For example, assuming your data is entered from a regular ASCII keyboard,
1297      * the symbol with the hex code point 29DD might be used like so:
1298      * ⧝MY_TOKEN_TYPE.
1299      * </pre>
1300      *
1301      * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
1302      */
getSurrogateInfoTypeOrBuilder()1303     public com.google.privacy.dlp.v2.InfoTypeOrBuilder getSurrogateInfoTypeOrBuilder() {
1304       if (surrogateInfoTypeBuilder_ != null) {
1305         return surrogateInfoTypeBuilder_.getMessageOrBuilder();
1306       } else {
1307         return surrogateInfoType_ == null
1308             ? com.google.privacy.dlp.v2.InfoType.getDefaultInstance()
1309             : surrogateInfoType_;
1310       }
1311     }
1312     /**
1313      *
1314      *
1315      * <pre>
1316      * The custom info type to annotate the surrogate with.
1317      * This annotation will be applied to the surrogate by prefixing it with
1318      * the name of the custom info type followed by the number of
1319      * characters comprising the surrogate. The following scheme defines the
1320      * format: {info type name}({surrogate character count}):{surrogate}
1321      * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
1322      * the surrogate is 'abc', the full replacement value
1323      * will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1324      * This annotation identifies the surrogate when inspecting content using the
1325      * custom info type 'Surrogate'. This facilitates reversal of the
1326      * surrogate when it occurs in free text.
1327      * Note: For record transformations where the entire cell in a table is being
1328      * transformed, surrogates are not mandatory. Surrogates are used to denote
1329      * the location of the token and are necessary for re-identification in free
1330      * form text.
1331      * In order for inspection to work properly, the name of this info type must
1332      * not occur naturally anywhere in your data; otherwise, inspection may either
1333      * - reverse a surrogate that does not correspond to an actual identifier
1334      * - be unable to parse the surrogate and result in an error
1335      * Therefore, choose your custom info type name carefully after considering
1336      * what your data looks like. One way to select a name that has a high chance
1337      * of yielding reliable detection is to include one or more unicode characters
1338      * that are highly improbable to exist in your data.
1339      * For example, assuming your data is entered from a regular ASCII keyboard,
1340      * the symbol with the hex code point 29DD might be used like so:
1341      * ⧝MY_TOKEN_TYPE.
1342      * </pre>
1343      *
1344      * <code>.google.privacy.dlp.v2.InfoType surrogate_info_type = 2;</code>
1345      */
1346     private com.google.protobuf.SingleFieldBuilderV3<
1347             com.google.privacy.dlp.v2.InfoType,
1348             com.google.privacy.dlp.v2.InfoType.Builder,
1349             com.google.privacy.dlp.v2.InfoTypeOrBuilder>
getSurrogateInfoTypeFieldBuilder()1350         getSurrogateInfoTypeFieldBuilder() {
1351       if (surrogateInfoTypeBuilder_ == null) {
1352         surrogateInfoTypeBuilder_ =
1353             new com.google.protobuf.SingleFieldBuilderV3<
1354                 com.google.privacy.dlp.v2.InfoType,
1355                 com.google.privacy.dlp.v2.InfoType.Builder,
1356                 com.google.privacy.dlp.v2.InfoTypeOrBuilder>(
1357                 getSurrogateInfoType(), getParentForChildren(), isClean());
1358         surrogateInfoType_ = null;
1359       }
1360       return surrogateInfoTypeBuilder_;
1361     }
1362 
1363     private com.google.privacy.dlp.v2.FieldId context_;
1364     private com.google.protobuf.SingleFieldBuilderV3<
1365             com.google.privacy.dlp.v2.FieldId,
1366             com.google.privacy.dlp.v2.FieldId.Builder,
1367             com.google.privacy.dlp.v2.FieldIdOrBuilder>
1368         contextBuilder_;
1369     /**
1370      *
1371      *
1372      * <pre>
1373      * A context may be used for higher security and maintaining
1374      * referential integrity such that the same identifier in two different
1375      * contexts will be given a distinct surrogate. The context is appended to
1376      * plaintext value being encrypted. On decryption the provided context is
1377      * validated against the value used during encryption. If a context was
1378      * provided during encryption, same context must be provided during decryption
1379      * as well.
1380      * If the context is not set, plaintext would be used as is for encryption.
1381      * If the context is set but:
1382      * 1. there is no record present when transforming a given value or
1383      * 2. the field is not present when transforming a given value,
1384      * plaintext would be used as is for encryption.
1385      * Note that case (1) is expected when an `InfoTypeTransformation` is
1386      * applied to both structured and unstructured `ContentItem`s.
1387      * </pre>
1388      *
1389      * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
1390      *
1391      * @return Whether the context field is set.
1392      */
hasContext()1393     public boolean hasContext() {
1394       return ((bitField0_ & 0x00000004) != 0);
1395     }
1396     /**
1397      *
1398      *
1399      * <pre>
1400      * A context may be used for higher security and maintaining
1401      * referential integrity such that the same identifier in two different
1402      * contexts will be given a distinct surrogate. The context is appended to
1403      * plaintext value being encrypted. On decryption the provided context is
1404      * validated against the value used during encryption. If a context was
1405      * provided during encryption, same context must be provided during decryption
1406      * as well.
1407      * If the context is not set, plaintext would be used as is for encryption.
1408      * If the context is set but:
1409      * 1. there is no record present when transforming a given value or
1410      * 2. the field is not present when transforming a given value,
1411      * plaintext would be used as is for encryption.
1412      * Note that case (1) is expected when an `InfoTypeTransformation` is
1413      * applied to both structured and unstructured `ContentItem`s.
1414      * </pre>
1415      *
1416      * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
1417      *
1418      * @return The context.
1419      */
getContext()1420     public com.google.privacy.dlp.v2.FieldId getContext() {
1421       if (contextBuilder_ == null) {
1422         return context_ == null ? com.google.privacy.dlp.v2.FieldId.getDefaultInstance() : context_;
1423       } else {
1424         return contextBuilder_.getMessage();
1425       }
1426     }
1427     /**
1428      *
1429      *
1430      * <pre>
1431      * A context may be used for higher security and maintaining
1432      * referential integrity such that the same identifier in two different
1433      * contexts will be given a distinct surrogate. The context is appended to
1434      * plaintext value being encrypted. On decryption the provided context is
1435      * validated against the value used during encryption. If a context was
1436      * provided during encryption, same context must be provided during decryption
1437      * as well.
1438      * If the context is not set, plaintext would be used as is for encryption.
1439      * If the context is set but:
1440      * 1. there is no record present when transforming a given value or
1441      * 2. the field is not present when transforming a given value,
1442      * plaintext would be used as is for encryption.
1443      * Note that case (1) is expected when an `InfoTypeTransformation` is
1444      * applied to both structured and unstructured `ContentItem`s.
1445      * </pre>
1446      *
1447      * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
1448      */
setContext(com.google.privacy.dlp.v2.FieldId value)1449     public Builder setContext(com.google.privacy.dlp.v2.FieldId value) {
1450       if (contextBuilder_ == null) {
1451         if (value == null) {
1452           throw new NullPointerException();
1453         }
1454         context_ = value;
1455       } else {
1456         contextBuilder_.setMessage(value);
1457       }
1458       bitField0_ |= 0x00000004;
1459       onChanged();
1460       return this;
1461     }
1462     /**
1463      *
1464      *
1465      * <pre>
1466      * A context may be used for higher security and maintaining
1467      * referential integrity such that the same identifier in two different
1468      * contexts will be given a distinct surrogate. The context is appended to
1469      * plaintext value being encrypted. On decryption the provided context is
1470      * validated against the value used during encryption. If a context was
1471      * provided during encryption, same context must be provided during decryption
1472      * as well.
1473      * If the context is not set, plaintext would be used as is for encryption.
1474      * If the context is set but:
1475      * 1. there is no record present when transforming a given value or
1476      * 2. the field is not present when transforming a given value,
1477      * plaintext would be used as is for encryption.
1478      * Note that case (1) is expected when an `InfoTypeTransformation` is
1479      * applied to both structured and unstructured `ContentItem`s.
1480      * </pre>
1481      *
1482      * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
1483      */
setContext(com.google.privacy.dlp.v2.FieldId.Builder builderForValue)1484     public Builder setContext(com.google.privacy.dlp.v2.FieldId.Builder builderForValue) {
1485       if (contextBuilder_ == null) {
1486         context_ = builderForValue.build();
1487       } else {
1488         contextBuilder_.setMessage(builderForValue.build());
1489       }
1490       bitField0_ |= 0x00000004;
1491       onChanged();
1492       return this;
1493     }
1494     /**
1495      *
1496      *
1497      * <pre>
1498      * A context may be used for higher security and maintaining
1499      * referential integrity such that the same identifier in two different
1500      * contexts will be given a distinct surrogate. The context is appended to
1501      * plaintext value being encrypted. On decryption the provided context is
1502      * validated against the value used during encryption. If a context was
1503      * provided during encryption, same context must be provided during decryption
1504      * as well.
1505      * If the context is not set, plaintext would be used as is for encryption.
1506      * If the context is set but:
1507      * 1. there is no record present when transforming a given value or
1508      * 2. the field is not present when transforming a given value,
1509      * plaintext would be used as is for encryption.
1510      * Note that case (1) is expected when an `InfoTypeTransformation` is
1511      * applied to both structured and unstructured `ContentItem`s.
1512      * </pre>
1513      *
1514      * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
1515      */
mergeContext(com.google.privacy.dlp.v2.FieldId value)1516     public Builder mergeContext(com.google.privacy.dlp.v2.FieldId value) {
1517       if (contextBuilder_ == null) {
1518         if (((bitField0_ & 0x00000004) != 0)
1519             && context_ != null
1520             && context_ != com.google.privacy.dlp.v2.FieldId.getDefaultInstance()) {
1521           getContextBuilder().mergeFrom(value);
1522         } else {
1523           context_ = value;
1524         }
1525       } else {
1526         contextBuilder_.mergeFrom(value);
1527       }
1528       bitField0_ |= 0x00000004;
1529       onChanged();
1530       return this;
1531     }
1532     /**
1533      *
1534      *
1535      * <pre>
1536      * A context may be used for higher security and maintaining
1537      * referential integrity such that the same identifier in two different
1538      * contexts will be given a distinct surrogate. The context is appended to
1539      * plaintext value being encrypted. On decryption the provided context is
1540      * validated against the value used during encryption. If a context was
1541      * provided during encryption, same context must be provided during decryption
1542      * as well.
1543      * If the context is not set, plaintext would be used as is for encryption.
1544      * If the context is set but:
1545      * 1. there is no record present when transforming a given value or
1546      * 2. the field is not present when transforming a given value,
1547      * plaintext would be used as is for encryption.
1548      * Note that case (1) is expected when an `InfoTypeTransformation` is
1549      * applied to both structured and unstructured `ContentItem`s.
1550      * </pre>
1551      *
1552      * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
1553      */
clearContext()1554     public Builder clearContext() {
1555       bitField0_ = (bitField0_ & ~0x00000004);
1556       context_ = null;
1557       if (contextBuilder_ != null) {
1558         contextBuilder_.dispose();
1559         contextBuilder_ = null;
1560       }
1561       onChanged();
1562       return this;
1563     }
1564     /**
1565      *
1566      *
1567      * <pre>
1568      * A context may be used for higher security and maintaining
1569      * referential integrity such that the same identifier in two different
1570      * contexts will be given a distinct surrogate. The context is appended to
1571      * plaintext value being encrypted. On decryption the provided context is
1572      * validated against the value used during encryption. If a context was
1573      * provided during encryption, same context must be provided during decryption
1574      * as well.
1575      * If the context is not set, plaintext would be used as is for encryption.
1576      * If the context is set but:
1577      * 1. there is no record present when transforming a given value or
1578      * 2. the field is not present when transforming a given value,
1579      * plaintext would be used as is for encryption.
1580      * Note that case (1) is expected when an `InfoTypeTransformation` is
1581      * applied to both structured and unstructured `ContentItem`s.
1582      * </pre>
1583      *
1584      * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
1585      */
getContextBuilder()1586     public com.google.privacy.dlp.v2.FieldId.Builder getContextBuilder() {
1587       bitField0_ |= 0x00000004;
1588       onChanged();
1589       return getContextFieldBuilder().getBuilder();
1590     }
1591     /**
1592      *
1593      *
1594      * <pre>
1595      * A context may be used for higher security and maintaining
1596      * referential integrity such that the same identifier in two different
1597      * contexts will be given a distinct surrogate. The context is appended to
1598      * plaintext value being encrypted. On decryption the provided context is
1599      * validated against the value used during encryption. If a context was
1600      * provided during encryption, same context must be provided during decryption
1601      * as well.
1602      * If the context is not set, plaintext would be used as is for encryption.
1603      * If the context is set but:
1604      * 1. there is no record present when transforming a given value or
1605      * 2. the field is not present when transforming a given value,
1606      * plaintext would be used as is for encryption.
1607      * Note that case (1) is expected when an `InfoTypeTransformation` is
1608      * applied to both structured and unstructured `ContentItem`s.
1609      * </pre>
1610      *
1611      * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
1612      */
getContextOrBuilder()1613     public com.google.privacy.dlp.v2.FieldIdOrBuilder getContextOrBuilder() {
1614       if (contextBuilder_ != null) {
1615         return contextBuilder_.getMessageOrBuilder();
1616       } else {
1617         return context_ == null ? com.google.privacy.dlp.v2.FieldId.getDefaultInstance() : context_;
1618       }
1619     }
1620     /**
1621      *
1622      *
1623      * <pre>
1624      * A context may be used for higher security and maintaining
1625      * referential integrity such that the same identifier in two different
1626      * contexts will be given a distinct surrogate. The context is appended to
1627      * plaintext value being encrypted. On decryption the provided context is
1628      * validated against the value used during encryption. If a context was
1629      * provided during encryption, same context must be provided during decryption
1630      * as well.
1631      * If the context is not set, plaintext would be used as is for encryption.
1632      * If the context is set but:
1633      * 1. there is no record present when transforming a given value or
1634      * 2. the field is not present when transforming a given value,
1635      * plaintext would be used as is for encryption.
1636      * Note that case (1) is expected when an `InfoTypeTransformation` is
1637      * applied to both structured and unstructured `ContentItem`s.
1638      * </pre>
1639      *
1640      * <code>.google.privacy.dlp.v2.FieldId context = 3;</code>
1641      */
1642     private com.google.protobuf.SingleFieldBuilderV3<
1643             com.google.privacy.dlp.v2.FieldId,
1644             com.google.privacy.dlp.v2.FieldId.Builder,
1645             com.google.privacy.dlp.v2.FieldIdOrBuilder>
getContextFieldBuilder()1646         getContextFieldBuilder() {
1647       if (contextBuilder_ == null) {
1648         contextBuilder_ =
1649             new com.google.protobuf.SingleFieldBuilderV3<
1650                 com.google.privacy.dlp.v2.FieldId,
1651                 com.google.privacy.dlp.v2.FieldId.Builder,
1652                 com.google.privacy.dlp.v2.FieldIdOrBuilder>(
1653                 getContext(), getParentForChildren(), isClean());
1654         context_ = null;
1655       }
1656       return contextBuilder_;
1657     }
1658 
1659     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)1660     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
1661       return super.setUnknownFields(unknownFields);
1662     }
1663 
1664     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1665     public final Builder mergeUnknownFields(
1666         final com.google.protobuf.UnknownFieldSet unknownFields) {
1667       return super.mergeUnknownFields(unknownFields);
1668     }
1669 
1670     // @@protoc_insertion_point(builder_scope:google.privacy.dlp.v2.CryptoDeterministicConfig)
1671   }
1672 
1673   // @@protoc_insertion_point(class_scope:google.privacy.dlp.v2.CryptoDeterministicConfig)
1674   private static final com.google.privacy.dlp.v2.CryptoDeterministicConfig DEFAULT_INSTANCE;
1675 
1676   static {
1677     DEFAULT_INSTANCE = new com.google.privacy.dlp.v2.CryptoDeterministicConfig();
1678   }
1679 
getDefaultInstance()1680   public static com.google.privacy.dlp.v2.CryptoDeterministicConfig getDefaultInstance() {
1681     return DEFAULT_INSTANCE;
1682   }
1683 
1684   private static final com.google.protobuf.Parser<CryptoDeterministicConfig> PARSER =
1685       new com.google.protobuf.AbstractParser<CryptoDeterministicConfig>() {
1686         @java.lang.Override
1687         public CryptoDeterministicConfig parsePartialFrom(
1688             com.google.protobuf.CodedInputStream input,
1689             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1690             throws com.google.protobuf.InvalidProtocolBufferException {
1691           Builder builder = newBuilder();
1692           try {
1693             builder.mergeFrom(input, extensionRegistry);
1694           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1695             throw e.setUnfinishedMessage(builder.buildPartial());
1696           } catch (com.google.protobuf.UninitializedMessageException e) {
1697             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
1698           } catch (java.io.IOException e) {
1699             throw new com.google.protobuf.InvalidProtocolBufferException(e)
1700                 .setUnfinishedMessage(builder.buildPartial());
1701           }
1702           return builder.buildPartial();
1703         }
1704       };
1705 
parser()1706   public static com.google.protobuf.Parser<CryptoDeterministicConfig> parser() {
1707     return PARSER;
1708   }
1709 
1710   @java.lang.Override
getParserForType()1711   public com.google.protobuf.Parser<CryptoDeterministicConfig> getParserForType() {
1712     return PARSER;
1713   }
1714 
1715   @java.lang.Override
getDefaultInstanceForType()1716   public com.google.privacy.dlp.v2.CryptoDeterministicConfig getDefaultInstanceForType() {
1717     return DEFAULT_INSTANCE;
1718   }
1719 }
1720