Class CryptoReplaceFfxFpeConfig.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<CryptoReplaceFfxFpeConfig.Builder>
com.google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.Builder
All Implemented Interfaces:
CryptoReplaceFfxFpeConfigOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
CryptoReplaceFfxFpeConfig

public static final class CryptoReplaceFfxFpeConfig.Builder extends com.google.protobuf.GeneratedMessage.Builder<CryptoReplaceFfxFpeConfig.Builder> implements CryptoReplaceFfxFpeConfigOrBuilder
 Replaces an identifier with a surrogate using Format Preserving Encryption
 (FPE) with the FFX mode of operation; however when used in the
 `ReidentifyContent` API method, it serves the opposite function by reversing
 the surrogate back into the original identifier. The identifier must be
 encoded as ASCII. For a given crypto key and context, the same identifier
 will be replaced with the same surrogate. Identifiers must be at least two
 characters long. In the case that the identifier is the empty string, it will
 be skipped. See
 https://cloud.google.com/sensitive-data-protection/docs/pseudonymization to
 learn more.

 Note: We recommend using  CryptoDeterministicConfig for all use cases which
 do not require preserving the input alphabet space and size, plus warrant
 referential integrity. FPE incurs significant latency costs.
 
Protobuf type google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<CryptoReplaceFfxFpeConfig.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<CryptoReplaceFfxFpeConfig.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<CryptoReplaceFfxFpeConfig.Builder>
    • getDefaultInstanceForType

      public CryptoReplaceFfxFpeConfig getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public CryptoReplaceFfxFpeConfig build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public CryptoReplaceFfxFpeConfig buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public CryptoReplaceFfxFpeConfig.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CryptoReplaceFfxFpeConfig.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<CryptoReplaceFfxFpeConfig.Builder>
    • mergeFrom

      public CryptoReplaceFfxFpeConfig.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CryptoReplaceFfxFpeConfig.Builder>
      Throws:
      IOException
    • getAlphabetCase

      public CryptoReplaceFfxFpeConfig.AlphabetCase getAlphabetCase()
      Specified by:
      getAlphabetCase in interface CryptoReplaceFfxFpeConfigOrBuilder
    • clearAlphabet

      public CryptoReplaceFfxFpeConfig.Builder clearAlphabet()
    • hasCryptoKey

      public boolean hasCryptoKey()
       Required. The key used by the encryption algorithm.
       
      .google.privacy.dlp.v2.CryptoKey crypto_key = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      hasCryptoKey in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      Whether the cryptoKey field is set.
    • getCryptoKey

      public CryptoKey getCryptoKey()
       Required. The key used by the encryption algorithm.
       
      .google.privacy.dlp.v2.CryptoKey crypto_key = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getCryptoKey in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      The cryptoKey.
    • setCryptoKey

      public CryptoReplaceFfxFpeConfig.Builder setCryptoKey(CryptoKey value)
       Required. The key used by the encryption algorithm.
       
      .google.privacy.dlp.v2.CryptoKey crypto_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • setCryptoKey

      public CryptoReplaceFfxFpeConfig.Builder setCryptoKey(CryptoKey.Builder builderForValue)
       Required. The key used by the encryption algorithm.
       
      .google.privacy.dlp.v2.CryptoKey crypto_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • mergeCryptoKey

      public CryptoReplaceFfxFpeConfig.Builder mergeCryptoKey(CryptoKey value)
       Required. The key used by the encryption algorithm.
       
      .google.privacy.dlp.v2.CryptoKey crypto_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • clearCryptoKey

      public CryptoReplaceFfxFpeConfig.Builder clearCryptoKey()
       Required. The key used by the encryption algorithm.
       
      .google.privacy.dlp.v2.CryptoKey crypto_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • getCryptoKeyBuilder

      public CryptoKey.Builder getCryptoKeyBuilder()
       Required. The key used by the encryption algorithm.
       
      .google.privacy.dlp.v2.CryptoKey crypto_key = 1 [(.google.api.field_behavior) = REQUIRED];
    • getCryptoKeyOrBuilder

      public CryptoKeyOrBuilder getCryptoKeyOrBuilder()
       Required. The key used by the encryption algorithm.
       
      .google.privacy.dlp.v2.CryptoKey crypto_key = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getCryptoKeyOrBuilder in interface CryptoReplaceFfxFpeConfigOrBuilder
    • hasContext

      public boolean hasContext()
       The 'tweak', a context may be used for higher security since the same
       identifier in two different contexts won't be given the same surrogate. If
       the context is not set, a default tweak will be used.
      
       If the context is set but:
      
       1. there is no record present when transforming a given value or
       1. the field is not present when transforming a given value,
      
       a default tweak will be used.
      
       Note that case (1) is expected when an `InfoTypeTransformation` is
       applied to both structured and unstructured `ContentItem`s.
       Currently, the referenced field may be of value type integer or string.
      
       The tweak is constructed as a sequence of bytes in big endian byte order
       such that:
      
       - a 64 bit integer is encoded followed by a single byte of value 1
       - a string is encoded in UTF-8 format followed by a single byte of value 2
       
      .google.privacy.dlp.v2.FieldId context = 2;
      Specified by:
      hasContext in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      Whether the context field is set.
    • getContext

      public FieldId getContext()
       The 'tweak', a context may be used for higher security since the same
       identifier in two different contexts won't be given the same surrogate. If
       the context is not set, a default tweak will be used.
      
       If the context is set but:
      
       1. there is no record present when transforming a given value or
       1. the field is not present when transforming a given value,
      
       a default tweak will be used.
      
       Note that case (1) is expected when an `InfoTypeTransformation` is
       applied to both structured and unstructured `ContentItem`s.
       Currently, the referenced field may be of value type integer or string.
      
       The tweak is constructed as a sequence of bytes in big endian byte order
       such that:
      
       - a 64 bit integer is encoded followed by a single byte of value 1
       - a string is encoded in UTF-8 format followed by a single byte of value 2
       
      .google.privacy.dlp.v2.FieldId context = 2;
      Specified by:
      getContext in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      The context.
    • setContext

      public CryptoReplaceFfxFpeConfig.Builder setContext(FieldId value)
       The 'tweak', a context may be used for higher security since the same
       identifier in two different contexts won't be given the same surrogate. If
       the context is not set, a default tweak will be used.
      
       If the context is set but:
      
       1. there is no record present when transforming a given value or
       1. the field is not present when transforming a given value,
      
       a default tweak will be used.
      
       Note that case (1) is expected when an `InfoTypeTransformation` is
       applied to both structured and unstructured `ContentItem`s.
       Currently, the referenced field may be of value type integer or string.
      
       The tweak is constructed as a sequence of bytes in big endian byte order
       such that:
      
       - a 64 bit integer is encoded followed by a single byte of value 1
       - a string is encoded in UTF-8 format followed by a single byte of value 2
       
      .google.privacy.dlp.v2.FieldId context = 2;
    • setContext

      public CryptoReplaceFfxFpeConfig.Builder setContext(FieldId.Builder builderForValue)
       The 'tweak', a context may be used for higher security since the same
       identifier in two different contexts won't be given the same surrogate. If
       the context is not set, a default tweak will be used.
      
       If the context is set but:
      
       1. there is no record present when transforming a given value or
       1. the field is not present when transforming a given value,
      
       a default tweak will be used.
      
       Note that case (1) is expected when an `InfoTypeTransformation` is
       applied to both structured and unstructured `ContentItem`s.
       Currently, the referenced field may be of value type integer or string.
      
       The tweak is constructed as a sequence of bytes in big endian byte order
       such that:
      
       - a 64 bit integer is encoded followed by a single byte of value 1
       - a string is encoded in UTF-8 format followed by a single byte of value 2
       
      .google.privacy.dlp.v2.FieldId context = 2;
    • mergeContext

      public CryptoReplaceFfxFpeConfig.Builder mergeContext(FieldId value)
       The 'tweak', a context may be used for higher security since the same
       identifier in two different contexts won't be given the same surrogate. If
       the context is not set, a default tweak will be used.
      
       If the context is set but:
      
       1. there is no record present when transforming a given value or
       1. the field is not present when transforming a given value,
      
       a default tweak will be used.
      
       Note that case (1) is expected when an `InfoTypeTransformation` is
       applied to both structured and unstructured `ContentItem`s.
       Currently, the referenced field may be of value type integer or string.
      
       The tweak is constructed as a sequence of bytes in big endian byte order
       such that:
      
       - a 64 bit integer is encoded followed by a single byte of value 1
       - a string is encoded in UTF-8 format followed by a single byte of value 2
       
      .google.privacy.dlp.v2.FieldId context = 2;
    • clearContext

      public CryptoReplaceFfxFpeConfig.Builder clearContext()
       The 'tweak', a context may be used for higher security since the same
       identifier in two different contexts won't be given the same surrogate. If
       the context is not set, a default tweak will be used.
      
       If the context is set but:
      
       1. there is no record present when transforming a given value or
       1. the field is not present when transforming a given value,
      
       a default tweak will be used.
      
       Note that case (1) is expected when an `InfoTypeTransformation` is
       applied to both structured and unstructured `ContentItem`s.
       Currently, the referenced field may be of value type integer or string.
      
       The tweak is constructed as a sequence of bytes in big endian byte order
       such that:
      
       - a 64 bit integer is encoded followed by a single byte of value 1
       - a string is encoded in UTF-8 format followed by a single byte of value 2
       
      .google.privacy.dlp.v2.FieldId context = 2;
    • getContextBuilder

      public FieldId.Builder getContextBuilder()
       The 'tweak', a context may be used for higher security since the same
       identifier in two different contexts won't be given the same surrogate. If
       the context is not set, a default tweak will be used.
      
       If the context is set but:
      
       1. there is no record present when transforming a given value or
       1. the field is not present when transforming a given value,
      
       a default tweak will be used.
      
       Note that case (1) is expected when an `InfoTypeTransformation` is
       applied to both structured and unstructured `ContentItem`s.
       Currently, the referenced field may be of value type integer or string.
      
       The tweak is constructed as a sequence of bytes in big endian byte order
       such that:
      
       - a 64 bit integer is encoded followed by a single byte of value 1
       - a string is encoded in UTF-8 format followed by a single byte of value 2
       
      .google.privacy.dlp.v2.FieldId context = 2;
    • getContextOrBuilder

      public FieldIdOrBuilder getContextOrBuilder()
       The 'tweak', a context may be used for higher security since the same
       identifier in two different contexts won't be given the same surrogate. If
       the context is not set, a default tweak will be used.
      
       If the context is set but:
      
       1. there is no record present when transforming a given value or
       1. the field is not present when transforming a given value,
      
       a default tweak will be used.
      
       Note that case (1) is expected when an `InfoTypeTransformation` is
       applied to both structured and unstructured `ContentItem`s.
       Currently, the referenced field may be of value type integer or string.
      
       The tweak is constructed as a sequence of bytes in big endian byte order
       such that:
      
       - a 64 bit integer is encoded followed by a single byte of value 1
       - a string is encoded in UTF-8 format followed by a single byte of value 2
       
      .google.privacy.dlp.v2.FieldId context = 2;
      Specified by:
      getContextOrBuilder in interface CryptoReplaceFfxFpeConfigOrBuilder
    • hasCommonAlphabet

      public boolean hasCommonAlphabet()
       Common alphabets.
       
      .google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;
      Specified by:
      hasCommonAlphabet in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      Whether the commonAlphabet field is set.
    • getCommonAlphabetValue

      public int getCommonAlphabetValue()
       Common alphabets.
       
      .google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;
      Specified by:
      getCommonAlphabetValue in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      The enum numeric value on the wire for commonAlphabet.
    • setCommonAlphabetValue

      public CryptoReplaceFfxFpeConfig.Builder setCommonAlphabetValue(int value)
       Common alphabets.
       
      .google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;
      Parameters:
      value - The enum numeric value on the wire for commonAlphabet to set.
      Returns:
      This builder for chaining.
    • getCommonAlphabet

       Common alphabets.
       
      .google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;
      Specified by:
      getCommonAlphabet in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      The commonAlphabet.
    • setCommonAlphabet

       Common alphabets.
       
      .google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;
      Parameters:
      value - The commonAlphabet to set.
      Returns:
      This builder for chaining.
    • clearCommonAlphabet

      public CryptoReplaceFfxFpeConfig.Builder clearCommonAlphabet()
       Common alphabets.
       
      .google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet common_alphabet = 4;
      Returns:
      This builder for chaining.
    • hasCustomAlphabet

      public boolean hasCustomAlphabet()
       This is supported by mapping these to the alphanumeric characters
       that the FFX mode natively supports. This happens before/after
       encryption/decryption.
       Each character listed must appear only once.
       Number of characters must be in the range [2, 95].
       This must be encoded as ASCII.
       The order of characters does not matter.
       The full list of allowed characters is:
       ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/``
       
      string custom_alphabet = 5;
      Specified by:
      hasCustomAlphabet in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      Whether the customAlphabet field is set.
    • getCustomAlphabet

      public String getCustomAlphabet()
       This is supported by mapping these to the alphanumeric characters
       that the FFX mode natively supports. This happens before/after
       encryption/decryption.
       Each character listed must appear only once.
       Number of characters must be in the range [2, 95].
       This must be encoded as ASCII.
       The order of characters does not matter.
       The full list of allowed characters is:
       ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/``
       
      string custom_alphabet = 5;
      Specified by:
      getCustomAlphabet in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      The customAlphabet.
    • getCustomAlphabetBytes

      public com.google.protobuf.ByteString getCustomAlphabetBytes()
       This is supported by mapping these to the alphanumeric characters
       that the FFX mode natively supports. This happens before/after
       encryption/decryption.
       Each character listed must appear only once.
       Number of characters must be in the range [2, 95].
       This must be encoded as ASCII.
       The order of characters does not matter.
       The full list of allowed characters is:
       ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/``
       
      string custom_alphabet = 5;
      Specified by:
      getCustomAlphabetBytes in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      The bytes for customAlphabet.
    • setCustomAlphabet

      public CryptoReplaceFfxFpeConfig.Builder setCustomAlphabet(String value)
       This is supported by mapping these to the alphanumeric characters
       that the FFX mode natively supports. This happens before/after
       encryption/decryption.
       Each character listed must appear only once.
       Number of characters must be in the range [2, 95].
       This must be encoded as ASCII.
       The order of characters does not matter.
       The full list of allowed characters is:
       ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/``
       
      string custom_alphabet = 5;
      Parameters:
      value - The customAlphabet to set.
      Returns:
      This builder for chaining.
    • clearCustomAlphabet

      public CryptoReplaceFfxFpeConfig.Builder clearCustomAlphabet()
       This is supported by mapping these to the alphanumeric characters
       that the FFX mode natively supports. This happens before/after
       encryption/decryption.
       Each character listed must appear only once.
       Number of characters must be in the range [2, 95].
       This must be encoded as ASCII.
       The order of characters does not matter.
       The full list of allowed characters is:
       ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/``
       
      string custom_alphabet = 5;
      Returns:
      This builder for chaining.
    • setCustomAlphabetBytes

      public CryptoReplaceFfxFpeConfig.Builder setCustomAlphabetBytes(com.google.protobuf.ByteString value)
       This is supported by mapping these to the alphanumeric characters
       that the FFX mode natively supports. This happens before/after
       encryption/decryption.
       Each character listed must appear only once.
       Number of characters must be in the range [2, 95].
       This must be encoded as ASCII.
       The order of characters does not matter.
       The full list of allowed characters is:
       ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/``
       
      string custom_alphabet = 5;
      Parameters:
      value - The bytes for customAlphabet to set.
      Returns:
      This builder for chaining.
    • hasRadix

      public boolean hasRadix()
       The native way to select the alphabet. Must be in the range [2, 95].
       
      int32 radix = 6;
      Specified by:
      hasRadix in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      Whether the radix field is set.
    • getRadix

      public int getRadix()
       The native way to select the alphabet. Must be in the range [2, 95].
       
      int32 radix = 6;
      Specified by:
      getRadix in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      The radix.
    • setRadix

      public CryptoReplaceFfxFpeConfig.Builder setRadix(int value)
       The native way to select the alphabet. Must be in the range [2, 95].
       
      int32 radix = 6;
      Parameters:
      value - The radix to set.
      Returns:
      This builder for chaining.
    • clearRadix

      public CryptoReplaceFfxFpeConfig.Builder clearRadix()
       The native way to select the alphabet. Must be in the range [2, 95].
       
      int32 radix = 6;
      Returns:
      This builder for chaining.
    • hasSurrogateInfoType

      public boolean hasSurrogateInfoType()
       The custom infoType to annotate the surrogate with.
       This annotation will be applied to the surrogate by prefixing it with
       the name of the custom infoType followed by the number of
       characters comprising the surrogate. The following scheme defines the
       format: info_type_name(surrogate_character_count):surrogate
      
       For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
       the surrogate is 'abc', the full replacement value
       will be: 'MY_TOKEN_INFO_TYPE(3):abc'
      
       This annotation identifies the surrogate when inspecting content using the
       custom infoType
       [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype).
       This facilitates reversal of the surrogate when it occurs in free text.
      
       In order for inspection to work properly, the name of this infoType must
       not occur naturally anywhere in your data; otherwise, inspection may
       find a surrogate that does not correspond to an actual identifier.
       Therefore, choose your custom infoType name carefully after considering
       what your data looks like. One way to select a name that has a high chance
       of yielding reliable detection is to include one or more unicode characters
       that are highly improbable to exist in your data.
       For example, assuming your data is entered from a regular ASCII keyboard,
       the symbol with the hex code point 29DD might be used like so:
       ⧝MY_TOKEN_TYPE
       
      .google.privacy.dlp.v2.InfoType surrogate_info_type = 8;
      Specified by:
      hasSurrogateInfoType in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      Whether the surrogateInfoType field is set.
    • getSurrogateInfoType

      public InfoType getSurrogateInfoType()
       The custom infoType to annotate the surrogate with.
       This annotation will be applied to the surrogate by prefixing it with
       the name of the custom infoType followed by the number of
       characters comprising the surrogate. The following scheme defines the
       format: info_type_name(surrogate_character_count):surrogate
      
       For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
       the surrogate is 'abc', the full replacement value
       will be: 'MY_TOKEN_INFO_TYPE(3):abc'
      
       This annotation identifies the surrogate when inspecting content using the
       custom infoType
       [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype).
       This facilitates reversal of the surrogate when it occurs in free text.
      
       In order for inspection to work properly, the name of this infoType must
       not occur naturally anywhere in your data; otherwise, inspection may
       find a surrogate that does not correspond to an actual identifier.
       Therefore, choose your custom infoType name carefully after considering
       what your data looks like. One way to select a name that has a high chance
       of yielding reliable detection is to include one or more unicode characters
       that are highly improbable to exist in your data.
       For example, assuming your data is entered from a regular ASCII keyboard,
       the symbol with the hex code point 29DD might be used like so:
       ⧝MY_TOKEN_TYPE
       
      .google.privacy.dlp.v2.InfoType surrogate_info_type = 8;
      Specified by:
      getSurrogateInfoType in interface CryptoReplaceFfxFpeConfigOrBuilder
      Returns:
      The surrogateInfoType.
    • setSurrogateInfoType

      public CryptoReplaceFfxFpeConfig.Builder setSurrogateInfoType(InfoType value)
       The custom infoType to annotate the surrogate with.
       This annotation will be applied to the surrogate by prefixing it with
       the name of the custom infoType followed by the number of
       characters comprising the surrogate. The following scheme defines the
       format: info_type_name(surrogate_character_count):surrogate
      
       For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
       the surrogate is 'abc', the full replacement value
       will be: 'MY_TOKEN_INFO_TYPE(3):abc'
      
       This annotation identifies the surrogate when inspecting content using the
       custom infoType
       [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype).
       This facilitates reversal of the surrogate when it occurs in free text.
      
       In order for inspection to work properly, the name of this infoType must
       not occur naturally anywhere in your data; otherwise, inspection may
       find a surrogate that does not correspond to an actual identifier.
       Therefore, choose your custom infoType name carefully after considering
       what your data looks like. One way to select a name that has a high chance
       of yielding reliable detection is to include one or more unicode characters
       that are highly improbable to exist in your data.
       For example, assuming your data is entered from a regular ASCII keyboard,
       the symbol with the hex code point 29DD might be used like so:
       ⧝MY_TOKEN_TYPE
       
      .google.privacy.dlp.v2.InfoType surrogate_info_type = 8;
    • setSurrogateInfoType

      public CryptoReplaceFfxFpeConfig.Builder setSurrogateInfoType(InfoType.Builder builderForValue)
       The custom infoType to annotate the surrogate with.
       This annotation will be applied to the surrogate by prefixing it with
       the name of the custom infoType followed by the number of
       characters comprising the surrogate. The following scheme defines the
       format: info_type_name(surrogate_character_count):surrogate
      
       For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
       the surrogate is 'abc', the full replacement value
       will be: 'MY_TOKEN_INFO_TYPE(3):abc'
      
       This annotation identifies the surrogate when inspecting content using the
       custom infoType
       [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype).
       This facilitates reversal of the surrogate when it occurs in free text.
      
       In order for inspection to work properly, the name of this infoType must
       not occur naturally anywhere in your data; otherwise, inspection may
       find a surrogate that does not correspond to an actual identifier.
       Therefore, choose your custom infoType name carefully after considering
       what your data looks like. One way to select a name that has a high chance
       of yielding reliable detection is to include one or more unicode characters
       that are highly improbable to exist in your data.
       For example, assuming your data is entered from a regular ASCII keyboard,
       the symbol with the hex code point 29DD might be used like so:
       ⧝MY_TOKEN_TYPE
       
      .google.privacy.dlp.v2.InfoType surrogate_info_type = 8;
    • mergeSurrogateInfoType

      public CryptoReplaceFfxFpeConfig.Builder mergeSurrogateInfoType(InfoType value)
       The custom infoType to annotate the surrogate with.
       This annotation will be applied to the surrogate by prefixing it with
       the name of the custom infoType followed by the number of
       characters comprising the surrogate. The following scheme defines the
       format: info_type_name(surrogate_character_count):surrogate
      
       For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
       the surrogate is 'abc', the full replacement value
       will be: 'MY_TOKEN_INFO_TYPE(3):abc'
      
       This annotation identifies the surrogate when inspecting content using the
       custom infoType
       [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype).
       This facilitates reversal of the surrogate when it occurs in free text.
      
       In order for inspection to work properly, the name of this infoType must
       not occur naturally anywhere in your data; otherwise, inspection may
       find a surrogate that does not correspond to an actual identifier.
       Therefore, choose your custom infoType name carefully after considering
       what your data looks like. One way to select a name that has a high chance
       of yielding reliable detection is to include one or more unicode characters
       that are highly improbable to exist in your data.
       For example, assuming your data is entered from a regular ASCII keyboard,
       the symbol with the hex code point 29DD might be used like so:
       ⧝MY_TOKEN_TYPE
       
      .google.privacy.dlp.v2.InfoType surrogate_info_type = 8;
    • clearSurrogateInfoType

      public CryptoReplaceFfxFpeConfig.Builder clearSurrogateInfoType()
       The custom infoType to annotate the surrogate with.
       This annotation will be applied to the surrogate by prefixing it with
       the name of the custom infoType followed by the number of
       characters comprising the surrogate. The following scheme defines the
       format: info_type_name(surrogate_character_count):surrogate
      
       For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
       the surrogate is 'abc', the full replacement value
       will be: 'MY_TOKEN_INFO_TYPE(3):abc'
      
       This annotation identifies the surrogate when inspecting content using the
       custom infoType
       [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype).
       This facilitates reversal of the surrogate when it occurs in free text.
      
       In order for inspection to work properly, the name of this infoType must
       not occur naturally anywhere in your data; otherwise, inspection may
       find a surrogate that does not correspond to an actual identifier.
       Therefore, choose your custom infoType name carefully after considering
       what your data looks like. One way to select a name that has a high chance
       of yielding reliable detection is to include one or more unicode characters
       that are highly improbable to exist in your data.
       For example, assuming your data is entered from a regular ASCII keyboard,
       the symbol with the hex code point 29DD might be used like so:
       ⧝MY_TOKEN_TYPE
       
      .google.privacy.dlp.v2.InfoType surrogate_info_type = 8;
    • getSurrogateInfoTypeBuilder

      public InfoType.Builder getSurrogateInfoTypeBuilder()
       The custom infoType to annotate the surrogate with.
       This annotation will be applied to the surrogate by prefixing it with
       the name of the custom infoType followed by the number of
       characters comprising the surrogate. The following scheme defines the
       format: info_type_name(surrogate_character_count):surrogate
      
       For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
       the surrogate is 'abc', the full replacement value
       will be: 'MY_TOKEN_INFO_TYPE(3):abc'
      
       This annotation identifies the surrogate when inspecting content using the
       custom infoType
       [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype).
       This facilitates reversal of the surrogate when it occurs in free text.
      
       In order for inspection to work properly, the name of this infoType must
       not occur naturally anywhere in your data; otherwise, inspection may
       find a surrogate that does not correspond to an actual identifier.
       Therefore, choose your custom infoType name carefully after considering
       what your data looks like. One way to select a name that has a high chance
       of yielding reliable detection is to include one or more unicode characters
       that are highly improbable to exist in your data.
       For example, assuming your data is entered from a regular ASCII keyboard,
       the symbol with the hex code point 29DD might be used like so:
       ⧝MY_TOKEN_TYPE
       
      .google.privacy.dlp.v2.InfoType surrogate_info_type = 8;
    • getSurrogateInfoTypeOrBuilder

      public InfoTypeOrBuilder getSurrogateInfoTypeOrBuilder()
       The custom infoType to annotate the surrogate with.
       This annotation will be applied to the surrogate by prefixing it with
       the name of the custom infoType followed by the number of
       characters comprising the surrogate. The following scheme defines the
       format: info_type_name(surrogate_character_count):surrogate
      
       For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
       the surrogate is 'abc', the full replacement value
       will be: 'MY_TOKEN_INFO_TYPE(3):abc'
      
       This annotation identifies the surrogate when inspecting content using the
       custom infoType
       [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype).
       This facilitates reversal of the surrogate when it occurs in free text.
      
       In order for inspection to work properly, the name of this infoType must
       not occur naturally anywhere in your data; otherwise, inspection may
       find a surrogate that does not correspond to an actual identifier.
       Therefore, choose your custom infoType name carefully after considering
       what your data looks like. One way to select a name that has a high chance
       of yielding reliable detection is to include one or more unicode characters
       that are highly improbable to exist in your data.
       For example, assuming your data is entered from a regular ASCII keyboard,
       the symbol with the hex code point 29DD might be used like so:
       ⧝MY_TOKEN_TYPE
       
      .google.privacy.dlp.v2.InfoType surrogate_info_type = 8;
      Specified by:
      getSurrogateInfoTypeOrBuilder in interface CryptoReplaceFfxFpeConfigOrBuilder