Interface ProjectSetProductCatalogModelAction

All Superinterfaces:
ProjectUpdateAction, ResourceUpdateAction<ProjectUpdateAction>

public interface ProjectSetProductCatalogModelAction extends ProjectUpdateAction
ProjectSetProductCatalogModelAction
Example to create an instance using the builder pattern

     ProjectSetProductCatalogModelAction projectSetProductCatalogModelAction = ProjectSetProductCatalogModelAction.builder()
             .productCatalogModel(ProductCatalogModel.CLASSIC)
             .build()
 
  • Field Details

    • SET_PRODUCT_CATALOG_MODEL

      static final String SET_PRODUCT_CATALOG_MODEL
      discriminator value for ProjectSetProductCatalogModelAction
      See Also:
  • Method Details

    • getProductCatalogModel

      @NotNull @NotNull ProductCatalogModel getProductCatalogModel()

      Configuration for the Product catalog model in the Project.

      When set to Classic, Product Variants are embedded in the Product.

      When set to Modular, Product Variants are managed as standalone entities. In this mode:

      • Variant-related update actions on Products return a 400 error.
      • Products must be created without masterVariant and variants.
      • Products cannot be deleted while Variants reference them.
      • Products cannot be unpublished while they have published Variants.
      • Carts read variant data from the Variant API instead of embedded Product Variants.
      • priceMode on Products is set to Standalone.
      Returns:
      productCatalogModel
    • setProductCatalogModel

      void setProductCatalogModel(ProductCatalogModel productCatalogModel)

      Configuration for the Product catalog model in the Project.

      When set to Classic, Product Variants are embedded in the Product.

      When set to Modular, Product Variants are managed as standalone entities. In this mode:

      • Variant-related update actions on Products return a 400 error.
      • Products must be created without masterVariant and variants.
      • Products cannot be deleted while Variants reference them.
      • Products cannot be unpublished while they have published Variants.
      • Carts read variant data from the Variant API instead of embedded Product Variants.
      • priceMode on Products is set to Standalone.
      Parameters:
      productCatalogModel - value to be set
    • of

      factory method
      Returns:
      instance of ProjectSetProductCatalogModelAction
    • of

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

      Specified by:
      copyDeep in interface ProjectUpdateAction
    • deepCopy

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

      builder factory method for ProjectSetProductCatalogModelAction
      Returns:
      builder
    • builder

      create builder for ProjectSetProductCatalogModelAction instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withProjectSetProductCatalogModelAction

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

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