Interface Extension

All Superinterfaces:
BaseResource, DomainResource<Extension>, Identifiable<Extension>, Versioned<Extension>, WithKey

public interface Extension extends BaseResource, DomainResource<Extension>, WithKey
Extension
Example to create an instance using the builder pattern

     Extension extension = Extension.builder()
             .id("{id}")
             .version(0.3)
             .createdAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .lastModifiedAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .destination(destinationBuilder -> destinationBuilder)
             .plusTriggers(triggersBuilder -> triggersBuilder)
             .build()
 
  • Method Details

    • getId

      @NotNull @NotNull String getId()

      Unique identifier of the Extension.

      Specified by:
      getId in interface BaseResource
      Specified by:
      getId in interface DomainResource<Extension>
      Specified by:
      getId in interface Identifiable<Extension>
      Specified by:
      getId in interface Versioned<Extension>
      Returns:
      id
    • getVersion

      @NotNull @NotNull Long getVersion()

      Current version of the Extension.

      Specified by:
      getVersion in interface BaseResource
      Specified by:
      getVersion in interface DomainResource<Extension>
      Specified by:
      getVersion in interface Versioned<Extension>
      Returns:
      version
    • getCreatedAt

      @NotNull @NotNull ZonedDateTime getCreatedAt()

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

      Specified by:
      getCreatedAt in interface BaseResource
      Returns:
      createdAt
    • getLastModifiedAt

      @NotNull @NotNull ZonedDateTime getLastModifiedAt()

      Date and time (UTC) the Extension was last updated.

      Specified by:
      getLastModifiedAt in interface BaseResource
      Returns:
      lastModifiedAt
    • getLastModifiedBy

      @Valid @Valid LastModifiedBy getLastModifiedBy()

      Present on resources created after 1 February 2019 except for events not tracked.

      Returns:
      lastModifiedBy
    • getCreatedBy

      @Valid @Valid CreatedBy getCreatedBy()

      Present on resources created after 1 February 2019 except for events not tracked.

      Returns:
      createdBy
    • getKey

      String getKey()

      User-defined unique identifier of the Extension.

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

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

      The configuration for the Extension, including its type, location and authentication details.

      Returns:
      destination
    • getTriggers

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

      Describes what triggers the Extension.

      Returns:
      triggers
    • getTimeoutInMs

      Integer getTimeoutInMs()

      Maximum time (in milliseconds) that the Extension can respond within. If no timeout is provided, the default value is used for all types of Extensions. The maximum value is 10000 ms (10 seconds) for payment Extensions and 2000 ms (2 seconds) for all other Extensions.

      Returns:
      timeoutInMs
    • setId

      void setId(String id)

      Unique identifier of the Extension.

      Specified by:
      setId in interface BaseResource
      Parameters:
      id - value to be set
    • setVersion

      void setVersion(Long version)

      Current version of the Extension.

      Specified by:
      setVersion in interface BaseResource
      Parameters:
      version - value to be set
    • setCreatedAt

      void setCreatedAt(ZonedDateTime createdAt)

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

      Specified by:
      setCreatedAt in interface BaseResource
      Parameters:
      createdAt - value to be set
    • setLastModifiedAt

      void setLastModifiedAt(ZonedDateTime lastModifiedAt)

      Date and time (UTC) the Extension was last updated.

      Specified by:
      setLastModifiedAt in interface BaseResource
      Parameters:
      lastModifiedAt - value to be set
    • setLastModifiedBy

      void setLastModifiedBy(LastModifiedBy lastModifiedBy)

      Present on resources created after 1 February 2019 except for events not tracked.

      Parameters:
      lastModifiedBy - value to be set
    • setCreatedBy

      void setCreatedBy(CreatedBy createdBy)

      Present on resources created after 1 February 2019 except for events not tracked.

      Parameters:
      createdBy - value to be set
    • setKey

      void setKey(String key)

      User-defined unique identifier of the Extension.

      Parameters:
      key - value to be set
    • setDestination

      void setDestination(ExtensionDestination destination)

      The configuration for the Extension, including its type, location and authentication details.

      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) that the Extension can respond within. If no timeout is provided, the default value is used for all types of Extensions. The maximum value is 10000 ms (10 seconds) for payment Extensions and 2000 ms (2 seconds) for all other Extensions.

      Parameters:
      timeoutInMs - value to be set
    • of

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

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

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

      static ExtensionBuilder builder()
      builder factory method for Extension
      Returns:
      builder
    • builder

      static ExtensionBuilder builder(Extension template)
      create builder for Extension instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withExtension

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