Interface ExtensionDraft

All Superinterfaces:
Draft<ExtensionDraft>, WithKey

public interface ExtensionDraft extends WithKey, Draft<ExtensionDraft>
ExtensionDraft
Example to create an instance using the builder pattern

     ExtensionDraft extensionDraft = ExtensionDraft.builder()
             .destination(destinationBuilder -> destinationBuilder)
             .plusTriggers(triggersBuilder -> triggersBuilder)
             .build()
 
  • Method Details

    • getKey

      String getKey()

      User-defined unique identifier for the Extension.

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

      @NotNull @Valid @NotNull @Valid ExtensionDestination getDestination()

      Defines where the Extension can be reached.

      Returns:
      destination
    • getTriggers

      @NotNull @Valid @NotNull @Valid List<ExtensionTrigger> getTriggers()

      Describes what triggers the Extension.

      Returns:
      triggers
    • getTimeoutInMs

      Integer getTimeoutInMs()

      Maximum time (in milliseconds) the Extension can respond within. If no timeout is provided, the default value is used for all types of Extensions. We recommend keeping the timeout as low as possible to avoid performance issues.

      The limit of 10000 ms (10 seconds) can be increased per Project after we review the performance impact. Please contact the commercetools support team and provide the Region, Project key, and use case.

      Returns:
      timeoutInMs
    • getDependencies

      @Valid @Valid List<ExtensionResourceIdentifier> getDependencies()

      Extensions that must complete before this Extension is called, identified by id or key. Maximum 5 entries. If omitted, the Extension has no dependencies and may run concurrently with other independent Extensions.

      Returns:
      dependencies
    • getExpansionPaths

      List<String> getExpansionPaths()

      Expansion paths used for reference expansion of the payload.

      Be aware of the limits of this feature and its performance impact.

      Returns:
      expansionPaths
    • getAdditionalContext

      @Valid @Valid ExtensionAdditionalContextDraft getAdditionalContext()

      Configures additional information included in the payload sent to the API Extension.

      Returns:
      additionalContext
    • setKey

      void setKey(String key)

      User-defined unique identifier for the Extension.

      Parameters:
      key - value to be set
    • setDestination

      void setDestination(ExtensionDestination destination)

      Defines where the Extension can be reached.

      Parameters:
      destination - value to be set
    • setTriggers

      void setTriggers(ExtensionTrigger... triggers)

      Describes what triggers the Extension.

      Parameters:
      triggers - values to be set
    • setTriggers

      void setTriggers(List<ExtensionTrigger> triggers)

      Describes what triggers the Extension.

      Parameters:
      triggers - values to be set
    • setTimeoutInMs

      void setTimeoutInMs(Integer timeoutInMs)

      Maximum time (in milliseconds) the Extension can respond within. If no timeout is provided, the default value is used for all types of Extensions. We recommend keeping the timeout as low as possible to avoid performance issues.

      The limit of 10000 ms (10 seconds) can be increased per Project after we review the performance impact. Please contact the commercetools support team and provide the Region, Project key, and use case.

      Parameters:
      timeoutInMs - value to be set
    • setDependencies

      void setDependencies(ExtensionResourceIdentifier... dependencies)

      Extensions that must complete before this Extension is called, identified by id or key. Maximum 5 entries. If omitted, the Extension has no dependencies and may run concurrently with other independent Extensions.

      Parameters:
      dependencies - values to be set
    • setDependencies

      void setDependencies(List<ExtensionResourceIdentifier> dependencies)

      Extensions that must complete before this Extension is called, identified by id or key. Maximum 5 entries. If omitted, the Extension has no dependencies and may run concurrently with other independent Extensions.

      Parameters:
      dependencies - values to be set
    • setExpansionPaths

      void setExpansionPaths(String... expansionPaths)

      Expansion paths used for reference expansion of the payload.

      Be aware of the limits of this feature and its performance impact.

      Parameters:
      expansionPaths - values to be set
    • setExpansionPaths

      void setExpansionPaths(List<String> expansionPaths)

      Expansion paths used for reference expansion of the payload.

      Be aware of the limits of this feature and its performance impact.

      Parameters:
      expansionPaths - values to be set
    • setAdditionalContext

      void setAdditionalContext(ExtensionAdditionalContextDraft additionalContext)

      Configures additional information included in the payload sent to the API Extension.

      Parameters:
      additionalContext - value to be set
    • of

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

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

      ExtensionDraft copyDeep()
    • deepCopy

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

      static ExtensionDraftBuilder builder()
      builder factory method for ExtensionDraft
      Returns:
      builder
    • builder

      static ExtensionDraftBuilder builder(ExtensionDraft template)
      create builder for ExtensionDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withExtensionDraft

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