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