Interface Project

All Superinterfaces:
WithKey

public interface Project extends WithKey
Project
Example to create an instance using the builder pattern

     Project project = Project.builder()
             .version(0.3)
             .key("{key}")
             .name("{name}")
             .plusCountries(countriesBuilder -> countriesBuilder)
             .plusCurrencies(currenciesBuilder -> currenciesBuilder)
             .plusLanguages(languagesBuilder -> languagesBuilder)
             .createdAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .messages(messagesBuilder -> messagesBuilder)
             .carts(cartsBuilder -> cartsBuilder)
             .inventory(inventoryBuilder -> inventoryBuilder)
             .discounts(discountsBuilder -> discountsBuilder)
             .build()
 
  • Method Details

    • getVersion

      @NotNull @NotNull Long getVersion()

      Current version of the Project.

      Returns:
      version
    • getKey

      @NotNull @NotNull String getKey()

      User-defined unique identifier of the Project.

      Specified by:
      getKey in interface WithKey
      Returns:
      key
    • getName

      @NotNull @NotNull String getName()

      Name of the Project.

      Returns:
      name
    • getCountries

      @NotNull @NotNull List<String> getCountries()

      Country code of the geographic location.

      Returns:
      countries
    • getCurrencies

      @NotNull @NotNull List<String> getCurrencies()

      Currency code of the country. A Project must have at least one currency.

      Returns:
      currencies
    • getLanguages

      @NotNull @NotNull List<String> getLanguages()

      Language of the country. A Project must have at least one language.

      Returns:
      languages
    • getCreatedAt

      @NotNull @NotNull ZonedDateTime getCreatedAt()

      Date and time (UTC) the Project was initially created.

      Returns:
      createdAt
    • getTrialUntil

      String getTrialUntil()

      Date in YYYY-MM format specifying when the trial period for the Project ends. Only present on Projects in trial period.

      Returns:
      trialUntil
    • getMessages

      @NotNull @Valid @NotNull @Valid MessagesConfiguration getMessages()

      Holds the configuration for the Messages Query feature.

      Returns:
      messages
    • getCarts

      @NotNull @Valid @NotNull @Valid CartsConfiguration getCarts()

      Holds the configuration for the Carts feature.

      Returns:
      carts
    • getShoppingLists

      @Valid @Valid ShoppingListsConfiguration getShoppingLists()

      Holds the configuration for the Shopping Lists feature.

      Returns:
      shoppingLists
    • getShippingRateInputType

      @Valid @Valid ShippingRateInputType getShippingRateInputType()

      Holds the configuration for the tiered shipping rates feature.

      Returns:
      shippingRateInputType
    • getExternalOAuth

      @Valid @Valid ExternalOAuth getExternalOAuth()

      Represents a RFC 7662 compliant OAuth 2.0 Token Introspection endpoint.

      Returns:
      externalOAuth
    • getSearchIndexing

      @Valid @Valid SearchIndexingConfiguration getSearchIndexing()

      Controls indexing of resources to be provided on high performance read-only search endpoints.

      Returns:
      searchIndexing
    • getBusinessUnits

      @Valid @Valid BusinessUnitConfiguration getBusinessUnits()

      Holds configuration specific to Business Units.

      Returns:
      businessUnits
    • getInventory

      @NotNull @Valid @NotNull @Valid InventoryConfiguration getInventory()

      Holds configuration specific to inventory.

      Returns:
      inventory
    • getDiscounts

      @NotNull @Valid @NotNull @Valid DiscountsConfiguration getDiscounts()

      Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project.

      Returns:
      discounts
    • getProductCatalogModel

      ProductCatalogModel getProductCatalogModel()

      Determines how Product Variants are managed in the Project.

      The x-catalog-model request header can override the effective Catalog model for a single request to resources that resolve Variant data, such as Carts, Orders, and Shopping Lists, independent of the Project's configured Catalog model. Use it during migration to test Modular Catalog behavior on selected requests before changing the Project's configured Catalog model. It is intended as a migration aid, not as a permanent substitute for the Project configuration. It has no effect on Product update actions.

      Returns:
      productCatalogModel
    • setVersion

      void setVersion(Long version)

      Current version of the Project.

      Parameters:
      version - value to be set
    • setKey

      void setKey(String key)

      User-defined unique identifier of the Project.

      Parameters:
      key - value to be set
    • setName

      void setName(String name)

      Name of the Project.

      Parameters:
      name - value to be set
    • setCountries

      void setCountries(String... countries)

      Country code of the geographic location.

      Parameters:
      countries - values to be set
    • setCountries

      void setCountries(List<String> countries)

      Country code of the geographic location.

      Parameters:
      countries - values to be set
    • setCurrencies

      void setCurrencies(String... currencies)

      Currency code of the country. A Project must have at least one currency.

      Parameters:
      currencies - values to be set
    • setCurrencies

      void setCurrencies(List<String> currencies)

      Currency code of the country. A Project must have at least one currency.

      Parameters:
      currencies - values to be set
    • setLanguages

      void setLanguages(String... languages)

      Language of the country. A Project must have at least one language.

      Parameters:
      languages - values to be set
    • setLanguages

      void setLanguages(List<String> languages)

      Language of the country. A Project must have at least one language.

      Parameters:
      languages - values to be set
    • setCreatedAt

      void setCreatedAt(ZonedDateTime createdAt)

      Date and time (UTC) the Project was initially created.

      Parameters:
      createdAt - value to be set
    • setTrialUntil

      void setTrialUntil(String trialUntil)

      Date in YYYY-MM format specifying when the trial period for the Project ends. Only present on Projects in trial period.

      Parameters:
      trialUntil - value to be set
    • setMessages

      void setMessages(MessagesConfiguration messages)

      Holds the configuration for the Messages Query feature.

      Parameters:
      messages - value to be set
    • setCarts

      void setCarts(CartsConfiguration carts)

      Holds the configuration for the Carts feature.

      Parameters:
      carts - value to be set
    • setShoppingLists

      void setShoppingLists(ShoppingListsConfiguration shoppingLists)

      Holds the configuration for the Shopping Lists feature.

      Parameters:
      shoppingLists - value to be set
    • setShippingRateInputType

      void setShippingRateInputType(ShippingRateInputType shippingRateInputType)

      Holds the configuration for the tiered shipping rates feature.

      Parameters:
      shippingRateInputType - value to be set
    • setExternalOAuth

      void setExternalOAuth(ExternalOAuth externalOAuth)

      Represents a RFC 7662 compliant OAuth 2.0 Token Introspection endpoint.

      Parameters:
      externalOAuth - value to be set
    • setSearchIndexing

      void setSearchIndexing(SearchIndexingConfiguration searchIndexing)

      Controls indexing of resources to be provided on high performance read-only search endpoints.

      Parameters:
      searchIndexing - value to be set
    • setBusinessUnits

      void setBusinessUnits(BusinessUnitConfiguration businessUnits)

      Holds configuration specific to Business Units.

      Parameters:
      businessUnits - value to be set
    • setInventory

      void setInventory(InventoryConfiguration inventory)

      Holds configuration specific to inventory.

      Parameters:
      inventory - value to be set
    • setDiscounts

      void setDiscounts(DiscountsConfiguration discounts)

      Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project.

      Parameters:
      discounts - value to be set
    • setProductCatalogModel

      void setProductCatalogModel(ProductCatalogModel productCatalogModel)

      Determines how Product Variants are managed in the Project.

      The x-catalog-model request header can override the effective Catalog model for a single request to resources that resolve Variant data, such as Carts, Orders, and Shopping Lists, independent of the Project's configured Catalog model. Use it during migration to test Modular Catalog behavior on selected requests before changing the Project's configured Catalog model. It is intended as a migration aid, not as a permanent substitute for the Project configuration. It has no effect on Product update actions.

      Parameters:
      productCatalogModel - value to be set
    • of

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

      static Project of(Project template)
      factory method to create a shallow copy Project
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • copyDeep

      Project copyDeep()
    • deepCopy

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

      static ProjectBuilder builder()
      builder factory method for Project
      Returns:
      builder
    • builder

      static ProjectBuilder builder(Project template)
      create builder for Project instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withProject

      default <T> T withProject(Function<Project,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<Project> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference