Class ProductEventDetail.Builder

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

    public static final class ProductEventDetail.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<ProductEventDetail.Builder>
    implements ProductEventDetailOrBuilder
     ProductEventDetail captures user event information specific to retail
     products.
     
    Protobuf type google.cloud.recommendationengine.v1beta1.ProductEventDetail
    • 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<ProductEventDetail.Builder>
      • clear

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

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

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

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

        public ProductEventDetail.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<ProductEventDetail.Builder>
      • setField

        public ProductEventDetail.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<ProductEventDetail.Builder>
      • clearField

        public ProductEventDetail.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<ProductEventDetail.Builder>
      • clearOneof

        public ProductEventDetail.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<ProductEventDetail.Builder>
      • setRepeatedField

        public ProductEventDetail.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<ProductEventDetail.Builder>
      • addRepeatedField

        public ProductEventDetail.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<ProductEventDetail.Builder>
      • mergeFrom

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

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

        public ProductEventDetail.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<ProductEventDetail.Builder>
        Throws:
        IOException
      • getSearchQuery

        public String getSearchQuery()
         Required for `search` events. Other event types should not set this field.
         The user's search query as UTF-8 encoded text with a length limit of 5 KiB.
         
        string search_query = 1;
        Specified by:
        getSearchQuery in interface ProductEventDetailOrBuilder
        Returns:
        The searchQuery.
      • getSearchQueryBytes

        public com.google.protobuf.ByteString getSearchQueryBytes()
         Required for `search` events. Other event types should not set this field.
         The user's search query as UTF-8 encoded text with a length limit of 5 KiB.
         
        string search_query = 1;
        Specified by:
        getSearchQueryBytes in interface ProductEventDetailOrBuilder
        Returns:
        The bytes for searchQuery.
      • setSearchQuery

        public ProductEventDetail.Builder setSearchQuery​(String value)
         Required for `search` events. Other event types should not set this field.
         The user's search query as UTF-8 encoded text with a length limit of 5 KiB.
         
        string search_query = 1;
        Parameters:
        value - The searchQuery to set.
        Returns:
        This builder for chaining.
      • clearSearchQuery

        public ProductEventDetail.Builder clearSearchQuery()
         Required for `search` events. Other event types should not set this field.
         The user's search query as UTF-8 encoded text with a length limit of 5 KiB.
         
        string search_query = 1;
        Returns:
        This builder for chaining.
      • setSearchQueryBytes

        public ProductEventDetail.Builder setSearchQueryBytes​(com.google.protobuf.ByteString value)
         Required for `search` events. Other event types should not set this field.
         The user's search query as UTF-8 encoded text with a length limit of 5 KiB.
         
        string search_query = 1;
        Parameters:
        value - The bytes for searchQuery to set.
        Returns:
        This builder for chaining.
      • getPageCategoriesList

        public List<CatalogItem.CategoryHierarchy> getPageCategoriesList()
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
        Specified by:
        getPageCategoriesList in interface ProductEventDetailOrBuilder
      • getPageCategoriesCount

        public int getPageCategoriesCount()
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
        Specified by:
        getPageCategoriesCount in interface ProductEventDetailOrBuilder
      • getPageCategories

        public CatalogItem.CategoryHierarchy getPageCategories​(int index)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
        Specified by:
        getPageCategories in interface ProductEventDetailOrBuilder
      • setPageCategories

        public ProductEventDetail.Builder setPageCategories​(int index,
                                                            CatalogItem.CategoryHierarchy value)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • setPageCategories

        public ProductEventDetail.Builder setPageCategories​(int index,
                                                            CatalogItem.CategoryHierarchy.Builder builderForValue)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • addPageCategories

        public ProductEventDetail.Builder addPageCategories​(CatalogItem.CategoryHierarchy value)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • addPageCategories

        public ProductEventDetail.Builder addPageCategories​(int index,
                                                            CatalogItem.CategoryHierarchy value)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • addPageCategories

        public ProductEventDetail.Builder addPageCategories​(CatalogItem.CategoryHierarchy.Builder builderForValue)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • addPageCategories

        public ProductEventDetail.Builder addPageCategories​(int index,
                                                            CatalogItem.CategoryHierarchy.Builder builderForValue)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • addAllPageCategories

        public ProductEventDetail.Builder addAllPageCategories​(Iterable<? extends CatalogItem.CategoryHierarchy> values)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • clearPageCategories

        public ProductEventDetail.Builder clearPageCategories()
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • removePageCategories

        public ProductEventDetail.Builder removePageCategories​(int index)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • getPageCategoriesBuilder

        public CatalogItem.CategoryHierarchy.Builder getPageCategoriesBuilder​(int index)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • getPageCategoriesOrBuilder

        public CatalogItem.CategoryHierarchyOrBuilder getPageCategoriesOrBuilder​(int index)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
        Specified by:
        getPageCategoriesOrBuilder in interface ProductEventDetailOrBuilder
      • getPageCategoriesOrBuilderList

        public List<? extends CatalogItem.CategoryHierarchyOrBuilder> getPageCategoriesOrBuilderList()
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
        Specified by:
        getPageCategoriesOrBuilderList in interface ProductEventDetailOrBuilder
      • addPageCategoriesBuilder

        public CatalogItem.CategoryHierarchy.Builder addPageCategoriesBuilder()
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • addPageCategoriesBuilder

        public CatalogItem.CategoryHierarchy.Builder addPageCategoriesBuilder​(int index)
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • getPageCategoriesBuilderList

        public List<CatalogItem.CategoryHierarchy.Builder> getPageCategoriesBuilderList()
         Required for `category-page-view` events. Other event types should not set
         this field.
         The categories associated with a category page.
         Category pages include special pages such as sales or promotions. For
         instance, a special sale page may have the category hierarchy:
         categories : ["Sales", "2017 Black Friday Deals"].
         
        repeated .google.cloud.recommendationengine.v1beta1.CatalogItem.CategoryHierarchy page_categories = 2;
      • getProductDetailsList

        public List<ProductDetail> getProductDetailsList()
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
        Specified by:
        getProductDetailsList in interface ProductEventDetailOrBuilder
      • getProductDetailsCount

        public int getProductDetailsCount()
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
        Specified by:
        getProductDetailsCount in interface ProductEventDetailOrBuilder
      • getProductDetails

        public ProductDetail getProductDetails​(int index)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
        Specified by:
        getProductDetails in interface ProductEventDetailOrBuilder
      • setProductDetails

        public ProductEventDetail.Builder setProductDetails​(int index,
                                                            ProductDetail value)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • setProductDetails

        public ProductEventDetail.Builder setProductDetails​(int index,
                                                            ProductDetail.Builder builderForValue)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • addProductDetails

        public ProductEventDetail.Builder addProductDetails​(ProductDetail value)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • addProductDetails

        public ProductEventDetail.Builder addProductDetails​(int index,
                                                            ProductDetail value)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • addProductDetails

        public ProductEventDetail.Builder addProductDetails​(ProductDetail.Builder builderForValue)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • addProductDetails

        public ProductEventDetail.Builder addProductDetails​(int index,
                                                            ProductDetail.Builder builderForValue)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • addAllProductDetails

        public ProductEventDetail.Builder addAllProductDetails​(Iterable<? extends ProductDetail> values)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • clearProductDetails

        public ProductEventDetail.Builder clearProductDetails()
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • removeProductDetails

        public ProductEventDetail.Builder removeProductDetails​(int index)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • getProductDetailsBuilder

        public ProductDetail.Builder getProductDetailsBuilder​(int index)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • getProductDetailsOrBuilder

        public ProductDetailOrBuilder getProductDetailsOrBuilder​(int index)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
        Specified by:
        getProductDetailsOrBuilder in interface ProductEventDetailOrBuilder
      • getProductDetailsOrBuilderList

        public List<? extends ProductDetailOrBuilder> getProductDetailsOrBuilderList()
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
        Specified by:
        getProductDetailsOrBuilderList in interface ProductEventDetailOrBuilder
      • addProductDetailsBuilder

        public ProductDetail.Builder addProductDetailsBuilder()
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • addProductDetailsBuilder

        public ProductDetail.Builder addProductDetailsBuilder​(int index)
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • getProductDetailsBuilderList

        public List<ProductDetail.Builder> getProductDetailsBuilderList()
         The main product details related to the event.
        
         This field is required for the following event types:
        
         * `add-to-cart`
         * `add-to-list`
         * `checkout-start`
         * `detail-page-view`
         * `purchase-complete`
         * `refund`
         * `remove-from-cart`
         * `remove-from-list`
        
         This field is optional for the following event types:
        
         * `page-visit`
         * `shopping-cart-page-view` - note that 'product_details' should be set for
           this unless the shopping cart is empty.
        
         This field is not allowed for the following event types:
        
         * `category-page-view`
         * `home-page-view`
         * `search`
         
        repeated .google.cloud.recommendationengine.v1beta1.ProductDetail product_details = 3;
      • getListId

        public String getListId()
         Required for `add-to-list` and `remove-from-list` events. The id or name of
         the list that the item is being added to or removed from. Other event types
         should not set this field.
         
        string list_id = 4;
        Specified by:
        getListId in interface ProductEventDetailOrBuilder
        Returns:
        The listId.
      • getListIdBytes

        public com.google.protobuf.ByteString getListIdBytes()
         Required for `add-to-list` and `remove-from-list` events. The id or name of
         the list that the item is being added to or removed from. Other event types
         should not set this field.
         
        string list_id = 4;
        Specified by:
        getListIdBytes in interface ProductEventDetailOrBuilder
        Returns:
        The bytes for listId.
      • setListId

        public ProductEventDetail.Builder setListId​(String value)
         Required for `add-to-list` and `remove-from-list` events. The id or name of
         the list that the item is being added to or removed from. Other event types
         should not set this field.
         
        string list_id = 4;
        Parameters:
        value - The listId to set.
        Returns:
        This builder for chaining.
      • clearListId

        public ProductEventDetail.Builder clearListId()
         Required for `add-to-list` and `remove-from-list` events. The id or name of
         the list that the item is being added to or removed from. Other event types
         should not set this field.
         
        string list_id = 4;
        Returns:
        This builder for chaining.
      • setListIdBytes

        public ProductEventDetail.Builder setListIdBytes​(com.google.protobuf.ByteString value)
         Required for `add-to-list` and `remove-from-list` events. The id or name of
         the list that the item is being added to or removed from. Other event types
         should not set this field.
         
        string list_id = 4;
        Parameters:
        value - The bytes for listId to set.
        Returns:
        This builder for chaining.
      • getCartId

        public String getCartId()
         Optional. The id or name of the associated shopping cart. This id is used
         to associate multiple items added or present in the cart before purchase.
        
         This can only be set for `add-to-cart`, `remove-from-cart`,
         `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events.
         
        string cart_id = 5 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getCartId in interface ProductEventDetailOrBuilder
        Returns:
        The cartId.
      • getCartIdBytes

        public com.google.protobuf.ByteString getCartIdBytes()
         Optional. The id or name of the associated shopping cart. This id is used
         to associate multiple items added or present in the cart before purchase.
        
         This can only be set for `add-to-cart`, `remove-from-cart`,
         `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events.
         
        string cart_id = 5 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getCartIdBytes in interface ProductEventDetailOrBuilder
        Returns:
        The bytes for cartId.
      • setCartId

        public ProductEventDetail.Builder setCartId​(String value)
         Optional. The id or name of the associated shopping cart. This id is used
         to associate multiple items added or present in the cart before purchase.
        
         This can only be set for `add-to-cart`, `remove-from-cart`,
         `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events.
         
        string cart_id = 5 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The cartId to set.
        Returns:
        This builder for chaining.
      • clearCartId

        public ProductEventDetail.Builder clearCartId()
         Optional. The id or name of the associated shopping cart. This id is used
         to associate multiple items added or present in the cart before purchase.
        
         This can only be set for `add-to-cart`, `remove-from-cart`,
         `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events.
         
        string cart_id = 5 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.
      • setCartIdBytes

        public ProductEventDetail.Builder setCartIdBytes​(com.google.protobuf.ByteString value)
         Optional. The id or name of the associated shopping cart. This id is used
         to associate multiple items added or present in the cart before purchase.
        
         This can only be set for `add-to-cart`, `remove-from-cart`,
         `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events.
         
        string cart_id = 5 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The bytes for cartId to set.
        Returns:
        This builder for chaining.
      • hasPurchaseTransaction

        public boolean hasPurchaseTransaction()
         Optional. A transaction represents the entire purchase transaction.
         Required for `purchase-complete` events. Optional for `checkout-start`
         events. Other event types should not set this field.
         
        .google.cloud.recommendationengine.v1beta1.PurchaseTransaction purchase_transaction = 6 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        hasPurchaseTransaction in interface ProductEventDetailOrBuilder
        Returns:
        Whether the purchaseTransaction field is set.
      • getPurchaseTransaction

        public PurchaseTransaction getPurchaseTransaction()
         Optional. A transaction represents the entire purchase transaction.
         Required for `purchase-complete` events. Optional for `checkout-start`
         events. Other event types should not set this field.
         
        .google.cloud.recommendationengine.v1beta1.PurchaseTransaction purchase_transaction = 6 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getPurchaseTransaction in interface ProductEventDetailOrBuilder
        Returns:
        The purchaseTransaction.
      • setPurchaseTransaction

        public ProductEventDetail.Builder setPurchaseTransaction​(PurchaseTransaction value)
         Optional. A transaction represents the entire purchase transaction.
         Required for `purchase-complete` events. Optional for `checkout-start`
         events. Other event types should not set this field.
         
        .google.cloud.recommendationengine.v1beta1.PurchaseTransaction purchase_transaction = 6 [(.google.api.field_behavior) = OPTIONAL];
      • setPurchaseTransaction

        public ProductEventDetail.Builder setPurchaseTransaction​(PurchaseTransaction.Builder builderForValue)
         Optional. A transaction represents the entire purchase transaction.
         Required for `purchase-complete` events. Optional for `checkout-start`
         events. Other event types should not set this field.
         
        .google.cloud.recommendationengine.v1beta1.PurchaseTransaction purchase_transaction = 6 [(.google.api.field_behavior) = OPTIONAL];
      • mergePurchaseTransaction

        public ProductEventDetail.Builder mergePurchaseTransaction​(PurchaseTransaction value)
         Optional. A transaction represents the entire purchase transaction.
         Required for `purchase-complete` events. Optional for `checkout-start`
         events. Other event types should not set this field.
         
        .google.cloud.recommendationengine.v1beta1.PurchaseTransaction purchase_transaction = 6 [(.google.api.field_behavior) = OPTIONAL];
      • clearPurchaseTransaction

        public ProductEventDetail.Builder clearPurchaseTransaction()
         Optional. A transaction represents the entire purchase transaction.
         Required for `purchase-complete` events. Optional for `checkout-start`
         events. Other event types should not set this field.
         
        .google.cloud.recommendationengine.v1beta1.PurchaseTransaction purchase_transaction = 6 [(.google.api.field_behavior) = OPTIONAL];
      • getPurchaseTransactionBuilder

        public PurchaseTransaction.Builder getPurchaseTransactionBuilder()
         Optional. A transaction represents the entire purchase transaction.
         Required for `purchase-complete` events. Optional for `checkout-start`
         events. Other event types should not set this field.
         
        .google.cloud.recommendationengine.v1beta1.PurchaseTransaction purchase_transaction = 6 [(.google.api.field_behavior) = OPTIONAL];
      • getPurchaseTransactionOrBuilder

        public PurchaseTransactionOrBuilder getPurchaseTransactionOrBuilder()
         Optional. A transaction represents the entire purchase transaction.
         Required for `purchase-complete` events. Optional for `checkout-start`
         events. Other event types should not set this field.
         
        .google.cloud.recommendationengine.v1beta1.PurchaseTransaction purchase_transaction = 6 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getPurchaseTransactionOrBuilder in interface ProductEventDetailOrBuilder
      • setUnknownFields

        public final ProductEventDetail.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<ProductEventDetail.Builder>
      • mergeUnknownFields

        public final ProductEventDetail.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<ProductEventDetail.Builder>