Class CatalogAttribute.Builder

  • All Implemented Interfaces:
    CatalogAttributeOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
    Enclosing class:
    CatalogAttribute

    public static final class CatalogAttribute.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<CatalogAttribute.Builder>
    implements CatalogAttributeOrBuilder
     Catalog level attribute config for an attribute. For example, if customers
     want to enable/disable facet for a specific attribute.
     
    Protobuf type google.cloud.retail.v2.CatalogAttribute
    • Method Detail

      • getDescriptor

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

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

        public CatalogAttribute.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.GeneratedMessageV3.Builder<CatalogAttribute.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.GeneratedMessageV3.Builder<CatalogAttribute.Builder>
      • getDefaultInstanceForType

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

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

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

        public CatalogAttribute.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<CatalogAttribute.Builder>
      • setField

        public CatalogAttribute.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                 Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<CatalogAttribute.Builder>
      • clearField

        public CatalogAttribute.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<CatalogAttribute.Builder>
      • clearOneof

        public CatalogAttribute.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<CatalogAttribute.Builder>
      • setRepeatedField

        public CatalogAttribute.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                         int index,
                                                         Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CatalogAttribute.Builder>
      • addRepeatedField

        public CatalogAttribute.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                         Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CatalogAttribute.Builder>
      • mergeFrom

        public CatalogAttribute.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<CatalogAttribute.Builder>
      • isInitialized

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

        public CatalogAttribute.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<CatalogAttribute.Builder>
        Throws:
        IOException
      • getKey

        public String getKey()
         Required. Attribute name.
         For example: `color`, `brands`, `attributes.custom_attribute`, such as
         `attributes.xyz`.
         To be indexable, the attribute name can contain only alpha-numeric
         characters and underscores. For example, an attribute named
         `attributes.abc_xyz` can be indexed, but an attribute named
         `attributes.abc-xyz` cannot be indexed.
        
         If the attribute key starts with `attributes.`, then the attribute is a
         custom attribute. Attributes such as `brands`, `patterns`, and `title` are
         built-in and called system attributes.
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getKey in interface CatalogAttributeOrBuilder
        Returns:
        The key.
      • getKeyBytes

        public com.google.protobuf.ByteString getKeyBytes()
         Required. Attribute name.
         For example: `color`, `brands`, `attributes.custom_attribute`, such as
         `attributes.xyz`.
         To be indexable, the attribute name can contain only alpha-numeric
         characters and underscores. For example, an attribute named
         `attributes.abc_xyz` can be indexed, but an attribute named
         `attributes.abc-xyz` cannot be indexed.
        
         If the attribute key starts with `attributes.`, then the attribute is a
         custom attribute. Attributes such as `brands`, `patterns`, and `title` are
         built-in and called system attributes.
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getKeyBytes in interface CatalogAttributeOrBuilder
        Returns:
        The bytes for key.
      • setKey

        public CatalogAttribute.Builder setKey​(String value)
         Required. Attribute name.
         For example: `color`, `brands`, `attributes.custom_attribute`, such as
         `attributes.xyz`.
         To be indexable, the attribute name can contain only alpha-numeric
         characters and underscores. For example, an attribute named
         `attributes.abc_xyz` can be indexed, but an attribute named
         `attributes.abc-xyz` cannot be indexed.
        
         If the attribute key starts with `attributes.`, then the attribute is a
         custom attribute. Attributes such as `brands`, `patterns`, and `title` are
         built-in and called system attributes.
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The key to set.
        Returns:
        This builder for chaining.
      • clearKey

        public CatalogAttribute.Builder clearKey()
         Required. Attribute name.
         For example: `color`, `brands`, `attributes.custom_attribute`, such as
         `attributes.xyz`.
         To be indexable, the attribute name can contain only alpha-numeric
         characters and underscores. For example, an attribute named
         `attributes.abc_xyz` can be indexed, but an attribute named
         `attributes.abc-xyz` cannot be indexed.
        
         If the attribute key starts with `attributes.`, then the attribute is a
         custom attribute. Attributes such as `brands`, `patterns`, and `title` are
         built-in and called system attributes.
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        This builder for chaining.
      • setKeyBytes

        public CatalogAttribute.Builder setKeyBytes​(com.google.protobuf.ByteString value)
         Required. Attribute name.
         For example: `color`, `brands`, `attributes.custom_attribute`, such as
         `attributes.xyz`.
         To be indexable, the attribute name can contain only alpha-numeric
         characters and underscores. For example, an attribute named
         `attributes.abc_xyz` can be indexed, but an attribute named
         `attributes.abc-xyz` cannot be indexed.
        
         If the attribute key starts with `attributes.`, then the attribute is a
         custom attribute. Attributes such as `brands`, `patterns`, and `title` are
         built-in and called system attributes.
         
        string key = 1 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The bytes for key to set.
        Returns:
        This builder for chaining.
      • getInUse

        public boolean getInUse()
         Output only. Indicates whether this attribute has been used by any
         products. `True` if at least one [Product][google.cloud.retail.v2.Product]
         is using this attribute in
         [Product.attributes][google.cloud.retail.v2.Product.attributes]. Otherwise,
         this field is `False`.
        
         [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] can be
         pre-loaded by using
         [CatalogService.AddCatalogAttribute][google.cloud.retail.v2.CatalogService.AddCatalogAttribute],
         [CatalogService.ImportCatalogAttributes][], or
         [CatalogService.UpdateAttributesConfig][google.cloud.retail.v2.CatalogService.UpdateAttributesConfig]
         APIs. This field is `False` for pre-loaded
         [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute]s.
        
         Only pre-loaded [catalog
         attributes][google.cloud.retail.v2.CatalogAttribute] that are neither in
         use by products nor predefined can be deleted. [Catalog
         attributes][google.cloud.retail.v2.CatalogAttribute] that are
         either in use by products or are predefined attributes cannot be deleted;
         however, their configuration properties will reset to default values upon
         removal request.
        
         After catalog changes, it takes about 10 minutes for this field to update.
         
        bool in_use = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getInUse in interface CatalogAttributeOrBuilder
        Returns:
        The inUse.
      • setInUse

        public CatalogAttribute.Builder setInUse​(boolean value)
         Output only. Indicates whether this attribute has been used by any
         products. `True` if at least one [Product][google.cloud.retail.v2.Product]
         is using this attribute in
         [Product.attributes][google.cloud.retail.v2.Product.attributes]. Otherwise,
         this field is `False`.
        
         [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] can be
         pre-loaded by using
         [CatalogService.AddCatalogAttribute][google.cloud.retail.v2.CatalogService.AddCatalogAttribute],
         [CatalogService.ImportCatalogAttributes][], or
         [CatalogService.UpdateAttributesConfig][google.cloud.retail.v2.CatalogService.UpdateAttributesConfig]
         APIs. This field is `False` for pre-loaded
         [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute]s.
        
         Only pre-loaded [catalog
         attributes][google.cloud.retail.v2.CatalogAttribute] that are neither in
         use by products nor predefined can be deleted. [Catalog
         attributes][google.cloud.retail.v2.CatalogAttribute] that are
         either in use by products or are predefined attributes cannot be deleted;
         however, their configuration properties will reset to default values upon
         removal request.
        
         After catalog changes, it takes about 10 minutes for this field to update.
         
        bool in_use = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Parameters:
        value - The inUse to set.
        Returns:
        This builder for chaining.
      • clearInUse

        public CatalogAttribute.Builder clearInUse()
         Output only. Indicates whether this attribute has been used by any
         products. `True` if at least one [Product][google.cloud.retail.v2.Product]
         is using this attribute in
         [Product.attributes][google.cloud.retail.v2.Product.attributes]. Otherwise,
         this field is `False`.
        
         [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] can be
         pre-loaded by using
         [CatalogService.AddCatalogAttribute][google.cloud.retail.v2.CatalogService.AddCatalogAttribute],
         [CatalogService.ImportCatalogAttributes][], or
         [CatalogService.UpdateAttributesConfig][google.cloud.retail.v2.CatalogService.UpdateAttributesConfig]
         APIs. This field is `False` for pre-loaded
         [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute]s.
        
         Only pre-loaded [catalog
         attributes][google.cloud.retail.v2.CatalogAttribute] that are neither in
         use by products nor predefined can be deleted. [Catalog
         attributes][google.cloud.retail.v2.CatalogAttribute] that are
         either in use by products or are predefined attributes cannot be deleted;
         however, their configuration properties will reset to default values upon
         removal request.
        
         After catalog changes, it takes about 10 minutes for this field to update.
         
        bool in_use = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Returns:
        This builder for chaining.
      • getTypeValue

        public int getTypeValue()
         Output only. The type of this attribute. This is derived from the attribute
         in [Product.attributes][google.cloud.retail.v2.Product.attributes].
         
        .google.cloud.retail.v2.CatalogAttribute.AttributeType type = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getTypeValue in interface CatalogAttributeOrBuilder
        Returns:
        The enum numeric value on the wire for type.
      • setTypeValue

        public CatalogAttribute.Builder setTypeValue​(int value)
         Output only. The type of this attribute. This is derived from the attribute
         in [Product.attributes][google.cloud.retail.v2.Product.attributes].
         
        .google.cloud.retail.v2.CatalogAttribute.AttributeType type = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Parameters:
        value - The enum numeric value on the wire for type to set.
        Returns:
        This builder for chaining.
      • getType

        public CatalogAttribute.AttributeType getType()
         Output only. The type of this attribute. This is derived from the attribute
         in [Product.attributes][google.cloud.retail.v2.Product.attributes].
         
        .google.cloud.retail.v2.CatalogAttribute.AttributeType type = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getType in interface CatalogAttributeOrBuilder
        Returns:
        The type.
      • setType

        public CatalogAttribute.Builder setType​(CatalogAttribute.AttributeType value)
         Output only. The type of this attribute. This is derived from the attribute
         in [Product.attributes][google.cloud.retail.v2.Product.attributes].
         
        .google.cloud.retail.v2.CatalogAttribute.AttributeType type = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Parameters:
        value - The type to set.
        Returns:
        This builder for chaining.
      • clearType

        public CatalogAttribute.Builder clearType()
         Output only. The type of this attribute. This is derived from the attribute
         in [Product.attributes][google.cloud.retail.v2.Product.attributes].
         
        .google.cloud.retail.v2.CatalogAttribute.AttributeType type = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Returns:
        This builder for chaining.
      • getIndexableOptionValue

        public int getIndexableOptionValue()
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
         are indexed so that it can be filtered, faceted, or boosted in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.IndexableOption indexable_option = 5;
        Specified by:
        getIndexableOptionValue in interface CatalogAttributeOrBuilder
        Returns:
        The enum numeric value on the wire for indexableOption.
      • setIndexableOptionValue

        public CatalogAttribute.Builder setIndexableOptionValue​(int value)
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
         are indexed so that it can be filtered, faceted, or boosted in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.IndexableOption indexable_option = 5;
        Parameters:
        value - The enum numeric value on the wire for indexableOption to set.
        Returns:
        This builder for chaining.
      • getIndexableOption

        public CatalogAttribute.IndexableOption getIndexableOption()
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
         are indexed so that it can be filtered, faceted, or boosted in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.IndexableOption indexable_option = 5;
        Specified by:
        getIndexableOption in interface CatalogAttributeOrBuilder
        Returns:
        The indexableOption.
      • setIndexableOption

        public CatalogAttribute.Builder setIndexableOption​(CatalogAttribute.IndexableOption value)
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
         are indexed so that it can be filtered, faceted, or boosted in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.IndexableOption indexable_option = 5;
        Parameters:
        value - The indexableOption to set.
        Returns:
        This builder for chaining.
      • clearIndexableOption

        public CatalogAttribute.Builder clearIndexableOption()
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
         are indexed so that it can be filtered, faceted, or boosted in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.IndexableOption indexable_option = 5;
        Returns:
        This builder for chaining.
      • getDynamicFacetableOptionValue

        public int getDynamicFacetableOptionValue()
         If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
         facet. Could only be DYNAMIC_FACETABLE_DISABLED if
         [CatalogAttribute.indexable_option][google.cloud.retail.v2.CatalogAttribute.indexable_option]
         is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption dynamic_facetable_option = 6;
        Specified by:
        getDynamicFacetableOptionValue in interface CatalogAttributeOrBuilder
        Returns:
        The enum numeric value on the wire for dynamicFacetableOption.
      • setDynamicFacetableOptionValue

        public CatalogAttribute.Builder setDynamicFacetableOptionValue​(int value)
         If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
         facet. Could only be DYNAMIC_FACETABLE_DISABLED if
         [CatalogAttribute.indexable_option][google.cloud.retail.v2.CatalogAttribute.indexable_option]
         is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption dynamic_facetable_option = 6;
        Parameters:
        value - The enum numeric value on the wire for dynamicFacetableOption to set.
        Returns:
        This builder for chaining.
      • getDynamicFacetableOption

        public CatalogAttribute.DynamicFacetableOption getDynamicFacetableOption()
         If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
         facet. Could only be DYNAMIC_FACETABLE_DISABLED if
         [CatalogAttribute.indexable_option][google.cloud.retail.v2.CatalogAttribute.indexable_option]
         is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption dynamic_facetable_option = 6;
        Specified by:
        getDynamicFacetableOption in interface CatalogAttributeOrBuilder
        Returns:
        The dynamicFacetableOption.
      • setDynamicFacetableOption

        public CatalogAttribute.Builder setDynamicFacetableOption​(CatalogAttribute.DynamicFacetableOption value)
         If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
         facet. Could only be DYNAMIC_FACETABLE_DISABLED if
         [CatalogAttribute.indexable_option][google.cloud.retail.v2.CatalogAttribute.indexable_option]
         is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption dynamic_facetable_option = 6;
        Parameters:
        value - The dynamicFacetableOption to set.
        Returns:
        This builder for chaining.
      • clearDynamicFacetableOption

        public CatalogAttribute.Builder clearDynamicFacetableOption()
         If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
         facet. Could only be DYNAMIC_FACETABLE_DISABLED if
         [CatalogAttribute.indexable_option][google.cloud.retail.v2.CatalogAttribute.indexable_option]
         is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption dynamic_facetable_option = 6;
        Returns:
        This builder for chaining.
      • getSearchableOptionValue

        public int getSearchableOptionValue()
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values
         are searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         If SEARCHABLE_ENABLED but attribute type is numerical, attribute values
         will not be searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search], as
         there are no text values associated to numerical attributes.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.SearchableOption searchable_option = 7;
        Specified by:
        getSearchableOptionValue in interface CatalogAttributeOrBuilder
        Returns:
        The enum numeric value on the wire for searchableOption.
      • setSearchableOptionValue

        public CatalogAttribute.Builder setSearchableOptionValue​(int value)
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values
         are searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         If SEARCHABLE_ENABLED but attribute type is numerical, attribute values
         will not be searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search], as
         there are no text values associated to numerical attributes.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.SearchableOption searchable_option = 7;
        Parameters:
        value - The enum numeric value on the wire for searchableOption to set.
        Returns:
        This builder for chaining.
      • getSearchableOption

        public CatalogAttribute.SearchableOption getSearchableOption()
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values
         are searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         If SEARCHABLE_ENABLED but attribute type is numerical, attribute values
         will not be searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search], as
         there are no text values associated to numerical attributes.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.SearchableOption searchable_option = 7;
        Specified by:
        getSearchableOption in interface CatalogAttributeOrBuilder
        Returns:
        The searchableOption.
      • setSearchableOption

        public CatalogAttribute.Builder setSearchableOption​(CatalogAttribute.SearchableOption value)
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values
         are searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         If SEARCHABLE_ENABLED but attribute type is numerical, attribute values
         will not be searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search], as
         there are no text values associated to numerical attributes.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.SearchableOption searchable_option = 7;
        Parameters:
        value - The searchableOption to set.
        Returns:
        This builder for chaining.
      • clearSearchableOption

        public CatalogAttribute.Builder clearSearchableOption()
         When
         [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
         is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values
         are searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
        
         If SEARCHABLE_ENABLED but attribute type is numerical, attribute values
         will not be searchable by text queries in
         [SearchService.Search][google.cloud.retail.v2.SearchService.Search], as
         there are no text values associated to numerical attributes.
        
         Must be specified, otherwise throws INVALID_FORMAT error.
         
        .google.cloud.retail.v2.CatalogAttribute.SearchableOption searchable_option = 7;
        Returns:
        This builder for chaining.
      • getExactSearchableOptionValue

        public int getExactSearchableOptionValue()
         If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable.
         This property only applies to textual custom attributes and requires
         indexable set to enabled to enable exact-searchable. If unset, the server
         behavior defaults to
         [EXACT_SEARCHABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption.EXACT_SEARCHABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption exact_searchable_option = 11;
        Specified by:
        getExactSearchableOptionValue in interface CatalogAttributeOrBuilder
        Returns:
        The enum numeric value on the wire for exactSearchableOption.
      • setExactSearchableOptionValue

        public CatalogAttribute.Builder setExactSearchableOptionValue​(int value)
         If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable.
         This property only applies to textual custom attributes and requires
         indexable set to enabled to enable exact-searchable. If unset, the server
         behavior defaults to
         [EXACT_SEARCHABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption.EXACT_SEARCHABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption exact_searchable_option = 11;
        Parameters:
        value - The enum numeric value on the wire for exactSearchableOption to set.
        Returns:
        This builder for chaining.
      • getExactSearchableOption

        public CatalogAttribute.ExactSearchableOption getExactSearchableOption()
         If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable.
         This property only applies to textual custom attributes and requires
         indexable set to enabled to enable exact-searchable. If unset, the server
         behavior defaults to
         [EXACT_SEARCHABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption.EXACT_SEARCHABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption exact_searchable_option = 11;
        Specified by:
        getExactSearchableOption in interface CatalogAttributeOrBuilder
        Returns:
        The exactSearchableOption.
      • setExactSearchableOption

        public CatalogAttribute.Builder setExactSearchableOption​(CatalogAttribute.ExactSearchableOption value)
         If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable.
         This property only applies to textual custom attributes and requires
         indexable set to enabled to enable exact-searchable. If unset, the server
         behavior defaults to
         [EXACT_SEARCHABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption.EXACT_SEARCHABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption exact_searchable_option = 11;
        Parameters:
        value - The exactSearchableOption to set.
        Returns:
        This builder for chaining.
      • clearExactSearchableOption

        public CatalogAttribute.Builder clearExactSearchableOption()
         If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable.
         This property only applies to textual custom attributes and requires
         indexable set to enabled to enable exact-searchable. If unset, the server
         behavior defaults to
         [EXACT_SEARCHABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption.EXACT_SEARCHABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.ExactSearchableOption exact_searchable_option = 11;
        Returns:
        This builder for chaining.
      • getRetrievableOptionValue

        public int getRetrievableOptionValue()
         If RETRIEVABLE_ENABLED, attribute values are retrievable in the search
         results. If unset, the server behavior defaults to
         [RETRIEVABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.RetrievableOption.RETRIEVABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.RetrievableOption retrievable_option = 12;
        Specified by:
        getRetrievableOptionValue in interface CatalogAttributeOrBuilder
        Returns:
        The enum numeric value on the wire for retrievableOption.
      • setRetrievableOptionValue

        public CatalogAttribute.Builder setRetrievableOptionValue​(int value)
         If RETRIEVABLE_ENABLED, attribute values are retrievable in the search
         results. If unset, the server behavior defaults to
         [RETRIEVABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.RetrievableOption.RETRIEVABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.RetrievableOption retrievable_option = 12;
        Parameters:
        value - The enum numeric value on the wire for retrievableOption to set.
        Returns:
        This builder for chaining.
      • getRetrievableOption

        public CatalogAttribute.RetrievableOption getRetrievableOption()
         If RETRIEVABLE_ENABLED, attribute values are retrievable in the search
         results. If unset, the server behavior defaults to
         [RETRIEVABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.RetrievableOption.RETRIEVABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.RetrievableOption retrievable_option = 12;
        Specified by:
        getRetrievableOption in interface CatalogAttributeOrBuilder
        Returns:
        The retrievableOption.
      • setRetrievableOption

        public CatalogAttribute.Builder setRetrievableOption​(CatalogAttribute.RetrievableOption value)
         If RETRIEVABLE_ENABLED, attribute values are retrievable in the search
         results. If unset, the server behavior defaults to
         [RETRIEVABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.RetrievableOption.RETRIEVABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.RetrievableOption retrievable_option = 12;
        Parameters:
        value - The retrievableOption to set.
        Returns:
        This builder for chaining.
      • clearRetrievableOption

        public CatalogAttribute.Builder clearRetrievableOption()
         If RETRIEVABLE_ENABLED, attribute values are retrievable in the search
         results. If unset, the server behavior defaults to
         [RETRIEVABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.RetrievableOption.RETRIEVABLE_DISABLED].
         
        .google.cloud.retail.v2.CatalogAttribute.RetrievableOption retrievable_option = 12;
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final CatalogAttribute.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CatalogAttribute.Builder>
      • mergeUnknownFields

        public final CatalogAttribute.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CatalogAttribute.Builder>