Interface ProductTailoringDraft

All Superinterfaces:
Draft<ProductTailoringDraft>

public interface ProductTailoringDraft extends Draft<ProductTailoringDraft>

Contains the information to be tailored for a Product.


Example to create an instance using the builder pattern

     ProductTailoringDraft productTailoringDraft = ProductTailoringDraft.builder()
             .store(storeBuilder -> storeBuilder)
             .product(productBuilder -> productBuilder)
             .build()
 
  • Method Details

    • getKey

      String getKey()

      User-defined unique identifier of the ProductTailoring.

      Returns:
      key
    • getStore

      @NotNull @Valid @NotNull @Valid StoreResourceIdentifier getStore()

      The Store to which the ProductTailoring belongs.

      Returns:
      store
    • getProduct

      @NotNull @Valid @NotNull @Valid ProductResourceIdentifier getProduct()

      ResourceIdentifier of the Product the ProductTailoring belongs to.

      Returns:
      product
    • getName

      @Valid @Valid LocalizedString getName()

      Tailored name of the Product.

      Returns:
      name
    • getDescription

      @Valid @Valid LocalizedString getDescription()

      Tailored description of the Product.

      Returns:
      description
    • getMetaTitle

      @Valid @Valid LocalizedString getMetaTitle()

      Tailored title of the Product that is used by search engines.

      Returns:
      metaTitle
    • getMetaDescription

      @Valid @Valid LocalizedString getMetaDescription()

      Tailored description of the Product that is used by search engines.

      Returns:
      metaDescription
    • getMetaKeywords

      @Valid @Valid LocalizedString getMetaKeywords()

      Tailored keywords related to the Product that are used by search engines.

      Returns:
      metaKeywords
    • getSlug

      @Valid @Valid LocalizedString getSlug()

      User-defined identifier used in a deep-link URL for the ProductTailoring. Matches the pattern [a-zA-Z0-9_\\-]{2,256}.

      Returns:
      slug
    • getPublish

      Boolean getPublish()

      Set to true to publish the ProductTailoring immediately. Otherwise, the tailored product information is just staged.

      Returns:
      publish
    • getVariants

      @Valid @Valid List<ProductVariantTailoringDraft> getVariants()

      Tailored Variants of the Product.

      Returns:
      variants
    • getAttributes

      @Valid @Valid List<ProductTailoringAttribute> getAttributes()

      Attributes of the tailored Product. If provided, these Attributes are selectively merged into the attributes of the corresponding Product. If the Product contains an Attribute with the same name, then its value is overwritten. Otherwise, the Attribute and its value are added to the Product.

      Returns:
      attributes
    • setKey

      void setKey(String key)

      User-defined unique identifier of the ProductTailoring.

      Parameters:
      key - value to be set
    • setStore

      void setStore(StoreResourceIdentifier store)

      The Store to which the ProductTailoring belongs.

      Parameters:
      store - value to be set
    • setProduct

      void setProduct(ProductResourceIdentifier product)

      ResourceIdentifier of the Product the ProductTailoring belongs to.

      Parameters:
      product - value to be set
    • setName

      void setName(LocalizedString name)

      Tailored name of the Product.

      Parameters:
      name - value to be set
    • setDescription

      void setDescription(LocalizedString description)

      Tailored description of the Product.

      Parameters:
      description - value to be set
    • setMetaTitle

      void setMetaTitle(LocalizedString metaTitle)

      Tailored title of the Product that is used by search engines.

      Parameters:
      metaTitle - value to be set
    • setMetaDescription

      void setMetaDescription(LocalizedString metaDescription)

      Tailored description of the Product that is used by search engines.

      Parameters:
      metaDescription - value to be set
    • setMetaKeywords

      void setMetaKeywords(LocalizedString metaKeywords)

      Tailored keywords related to the Product that are used by search engines.

      Parameters:
      metaKeywords - value to be set
    • setSlug

      void setSlug(LocalizedString slug)

      User-defined identifier used in a deep-link URL for the ProductTailoring. Matches the pattern [a-zA-Z0-9_\\-]{2,256}.

      Parameters:
      slug - value to be set
    • setPublish

      void setPublish(Boolean publish)

      Set to true to publish the ProductTailoring immediately. Otherwise, the tailored product information is just staged.

      Parameters:
      publish - value to be set
    • setVariants

      void setVariants(ProductVariantTailoringDraft... variants)

      Tailored Variants of the Product.

      Parameters:
      variants - values to be set
    • setVariants

      void setVariants(List<ProductVariantTailoringDraft> variants)

      Tailored Variants of the Product.

      Parameters:
      variants - values to be set
    • setAttributes

      void setAttributes(ProductTailoringAttribute... attributes)

      Attributes of the tailored Product. If provided, these Attributes are selectively merged into the attributes of the corresponding Product. If the Product contains an Attribute with the same name, then its value is overwritten. Otherwise, the Attribute and its value are added to the Product.

      Parameters:
      attributes - values to be set
    • setAttributes

      void setAttributes(List<ProductTailoringAttribute> attributes)

      Attributes of the tailored Product. If provided, these Attributes are selectively merged into the attributes of the corresponding Product. If the Product contains an Attribute with the same name, then its value is overwritten. Otherwise, the Attribute and its value are added to the Product.

      Parameters:
      attributes - values to be set
    • of

      static ProductTailoringDraft of()
      factory method
      Returns:
      instance of ProductTailoringDraft
    • of

      factory method to create a shallow copy ProductTailoringDraft
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • copyDeep

    • deepCopy

      @Nullable static ProductTailoringDraft deepCopy(@Nullable ProductTailoringDraft template)
      factory method to create a deep copy of ProductTailoringDraft
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      static ProductTailoringDraftBuilder builder()
      builder factory method for ProductTailoringDraft
      Returns:
      builder
    • builder

      create builder for ProductTailoringDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withProductTailoringDraft

      default <T> T withProductTailoringDraft(Function<ProductTailoringDraft,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<ProductTailoringDraft> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference