Package com.commercetools.sync.commons
Class BaseSyncOptionsBuilder<T extends BaseSyncOptionsBuilder<T,S,U,V,A>,S extends BaseSyncOptions,U,V,A>
- java.lang.Object
-
- com.commercetools.sync.commons.BaseSyncOptionsBuilder<T,S,U,V,A>
-
- Direct Known Subclasses:
CartDiscountSyncOptionsBuilder,CategorySyncOptionsBuilder,CustomerSyncOptionsBuilder,CustomObjectSyncOptionsBuilder,InventorySyncOptionsBuilder,ProductSyncOptionsBuilder,ProductTypeSyncOptionsBuilder,ShoppingListSyncOptionsBuilder,StateSyncOptionsBuilder,TaxCategorySyncOptionsBuilder,TypeSyncOptionsBuilder
public abstract class BaseSyncOptionsBuilder<T extends BaseSyncOptionsBuilder<T,S,U,V,A>,S extends BaseSyncOptions,U,V,A> extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected intbatchSizeprotected java.util.function.Function<V,V>beforeCreateCallbackprotected TriFunction<java.util.List<io.sphere.sdk.commands.UpdateAction<A>>,V,U,java.util.List<io.sphere.sdk.commands.UpdateAction<A>>>beforeUpdateCallbackprotected longcacheSizeprotected io.sphere.sdk.client.SphereClientctpClientprotected QuadConsumer<SyncException,java.util.Optional<V>,java.util.Optional<U>,java.util.List<io.sphere.sdk.commands.UpdateAction<A>>>errorCallbackprotected TriConsumer<SyncException,java.util.Optional<V>,java.util.Optional<U>>warningCallback
-
Constructor Summary
Constructors Constructor Description BaseSyncOptionsBuilder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description TbatchSize(int batchSize)Set option that indicates batch size for sync process.TbeforeCreateCallback(java.util.function.Function<V,V> beforeCreateCallback)Sets the beforeCreateCallbackFunctionwhich can be applied on a new resource draft of typeV(e.g.TbeforeUpdateCallback(TriFunction<java.util.List<io.sphere.sdk.commands.UpdateAction<A>>,V,U,java.util.List<io.sphere.sdk.commands.UpdateAction<A>>> beforeUpdateCallback)Sets the beforeUpdateCallbackTriFunctionwhich can be applied on the supplied list of update actions generated from comparing an old resource of typeU(e.g.protected abstract Sbuild()Creates new instance ofSwhich extendsBaseSyncOptionsenriched with all attributes provided tothisbuilder.TcacheSize(long cacheSize)Sets the cache size that indicates the key to id cache size of the sync process.TerrorCallback(QuadConsumer<SyncException,java.util.Optional<V>,java.util.Optional<U>,java.util.List<io.sphere.sdk.commands.UpdateAction<A>>> errorCallback)Sets theerrorCallbackfunction of the sync module.protected abstract TgetThis()TwarningCallback(TriConsumer<SyncException,java.util.Optional<V>,java.util.Optional<U>> warningCallback)Sets thewarningCallbackfunction of the sync module.
-
-
-
Field Detail
-
ctpClient
protected io.sphere.sdk.client.SphereClient ctpClient
-
errorCallback
protected QuadConsumer<SyncException,java.util.Optional<V>,java.util.Optional<U>,java.util.List<io.sphere.sdk.commands.UpdateAction<A>>> errorCallback
-
warningCallback
protected TriConsumer<SyncException,java.util.Optional<V>,java.util.Optional<U>> warningCallback
-
batchSize
protected int batchSize
-
beforeUpdateCallback
protected TriFunction<java.util.List<io.sphere.sdk.commands.UpdateAction<A>>,V,U,java.util.List<io.sphere.sdk.commands.UpdateAction<A>>> beforeUpdateCallback
-
cacheSize
protected long cacheSize
-
-
Method Detail
-
errorCallback
public T errorCallback(@Nonnull QuadConsumer<SyncException,java.util.Optional<V>,java.util.Optional<U>,java.util.List<io.sphere.sdk.commands.UpdateAction<A>>> errorCallback)
Sets theerrorCallbackfunction of the sync module. This callback will be called whenever an event occurs that leads to an error alert from the sync process.- Parameters:
errorCallback- the new value to set to the error callback.- Returns:
thisinstance ofBaseSyncOptionsBuilder
-
warningCallback
public T warningCallback(@Nonnull TriConsumer<SyncException,java.util.Optional<V>,java.util.Optional<U>> warningCallback)
Sets thewarningCallbackfunction 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:
thisinstance ofBaseSyncOptionsBuilder
-
batchSize
public T 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:
thisinstance ofBaseSyncOptionsBuilder
-
cacheSize
public T 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:
thisinstance ofBaseSyncOptionsBuilder
-
beforeUpdateCallback
public T beforeUpdateCallback(@Nonnull TriFunction<java.util.List<io.sphere.sdk.commands.UpdateAction<A>>,V,U,java.util.List<io.sphere.sdk.commands.UpdateAction<A>>> beforeUpdateCallback)
Sets the beforeUpdateCallbackTriFunctionwhich can be applied on the supplied list of update actions generated from comparing an old resource of typeU(e.g.Product) to a new draft of typeV(e.g.ProductDraft). It results in a resultant list after the specifiedTriFunctionbeforeUpdateCallbackfunction 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 anullvalue or empty list will skip issuing the update request.- Parameters:
beforeUpdateCallback- function which can be applied on generated list of update actions.- Returns:
thisinstance ofBaseSyncOptionsBuilder
-
beforeCreateCallback
public T beforeCreateCallback(@Nonnull java.util.function.Function<V,V> beforeCreateCallback)
Sets the beforeCreateCallbackFunctionwhich can be applied on a new resource draft of typeV(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 specifiedFunctionbeforeCreateCallbackfunction. 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 anullvalue will skip draft creation.- Parameters:
beforeCreateCallback- function which can be applied on a new draft before it's created by the sync.- Returns:
thisinstance ofBaseSyncOptionsBuilder
-
build
protected abstract S build()
Creates new instance ofSwhich extendsBaseSyncOptionsenriched with all attributes provided tothisbuilder.- Returns:
- new instance of S which extends
BaseSyncOptions
-
getThis
protected abstract T getThis()
Returnsthisinstance ofT, which extendsBaseSyncOptionsBuilder. The purpose of this method is to make sure thatthisis an instance of a class which extendsBaseSyncOptionsBuilderin order to be used in the generic methods of the class. Otherwise, without this method, the methods above would need to castthis to Twhich 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.
-
-