Class BaseSyncOptionsBuilder<SyncOptionsBuilderT extends BaseSyncOptionsBuilder<SyncOptionsBuilderT,​SyncOptionsT,​ResourceT,​ResourceDraftT,​ResourceUpdateActionT>,​SyncOptionsT extends BaseSyncOptions<ResourceT,​ResourceDraftT,​ResourceUpdateActionT>,​ResourceT,​ResourceDraftT,​ResourceUpdateActionT extends com.commercetools.api.models.ResourceUpdateAction<ResourceUpdateActionT>>

    • Constructor Detail

      • BaseSyncOptionsBuilder

        public BaseSyncOptionsBuilder()
    • Method Detail

      • warningCallback

        public SyncOptionsBuilderT warningCallback​(@Nonnull
                                                   TriConsumer<SyncException,​java.util.Optional<ResourceDraftT>,​java.util.Optional<ResourceT>> warningCallback)
        Sets the warningCallback function of the sync module. This callback will be called whenever an event occurs that leads to a warning alert from the sync process.
        Parameters:
        warningCallback - the new value to set to the warning callback.
        Returns:
        this instance of BaseSyncOptionsBuilder
      • batchSize

        public SyncOptionsBuilderT batchSize​(int batchSize)
        Set option that indicates batch size for sync process. During the sync there is a need for fetching existing resources so that they can be compared with the new resource drafts. That's why the input is sliced into batches and then processed. It allows to reduce the query size for fetching all resources processed in one batch. E.g. value of 30 means that 30 entries from input list would be accumulated and one API call will be performed for fetching entries responding to them. Then comparision and sync are performed.

        This batch size is set to 30 by default.

        Parameters:
        batchSize - int that indicates batch size of resources to process. Has to be positive or else will be ignored and default value of 30 would be used.
        Returns:
        this instance of BaseSyncOptionsBuilder
      • cacheSize

        public SyncOptionsBuilderT cacheSize​(long cacheSize)
        Sets the cache size that indicates the key to id cache size of the sync process. To increase performance during the sync some resource keys mapped to ids are cached which are required for resolving references. To keep the cache performant outdated entries are evicted when a certain size is reached.

        Note: This cache size is set to 10.000 by default.

        Parameters:
        cacheSize - a long number value that indicates cache size of the key to id cache used for reference resolution. Has to be positive or else will be ignored and default value of 10.000 would be used.
        Returns:
        this instance of BaseSyncOptionsBuilder
      • beforeUpdateCallback

        public SyncOptionsBuilderT beforeUpdateCallback​(@Nonnull
                                                        TriFunction<java.util.List<ResourceUpdateActionT>,​ResourceDraftT,​ResourceT,​java.util.List<ResourceUpdateActionT>> beforeUpdateCallback)
        Sets the beforeUpdateCallback TriFunction which can be applied on the supplied list of update actions generated from comparing an old resource of type U (e.g. Product) to a new draft of type V (e.g. ProductDraft). It results in a resultant list after the specified TriFunction beforeUpdateCallback function has been applied. This can be used to intercept the sync process before issuing an update request and to be able to manipulate the update actions. Note: Specifying a callback that returns a null value or empty list will skip issuing the update request.
        Parameters:
        beforeUpdateCallback - function which can be applied on generated list of update actions.
        Returns:
        this instance of BaseSyncOptionsBuilder
      • beforeCreateCallback

        public SyncOptionsBuilderT beforeCreateCallback​(@Nonnull
                                                        java.util.function.Function<ResourceDraftT,​ResourceDraftT> beforeCreateCallback)
        Sets the beforeCreateCallback Function which can be applied on a new resource draft of type V (e.g. ProductDraft) before it's created by the sync. It results in a resource draft of the same type which is the result of the application of the specified Function beforeCreateCallback function. This can be used to intercept the sync process before creating the resource draft and to be able to manipulate it. Note: Specifying a callback that returns a null value will skip draft creation.
        Parameters:
        beforeCreateCallback - function which can be applied on a new draft before it's created by the sync.
        Returns:
        this instance of BaseSyncOptionsBuilder
      • build

        protected abstract SyncOptionsT build()
        Creates new instance of S which extends BaseSyncOptions enriched with all attributes provided to this builder.
        Returns:
        new instance of S which extends BaseSyncOptions
      • getThis

        protected abstract SyncOptionsBuilderT getThis()
        Returns this instance of T, which extends BaseSyncOptionsBuilder. The purpose of this method is to make sure that this is an instance of a class which extends BaseSyncOptionsBuilder in order to be used in the generic methods of the class. Otherwise, without this method, the methods above would need to cast this to T which could lead to a runtime error of the class was extended in a wrong way.
        Returns:
        an instance of the class that overrides this method.