public final class AssetReferenceResolver extends CustomReferenceResolver<io.sphere.sdk.models.AssetDraft,io.sphere.sdk.models.AssetDraftBuilder,BaseSyncOptions>
TYPE_DOES_NOT_EXIST
BLANK_ID_VALUE_ON_REFERENCE, BLANK_KEY_VALUE_ON_RESOURCE_IDENTIFIER, options
Constructor and Description |
---|
AssetReferenceResolver(BaseSyncOptions options,
TypeService typeService)
Takes a
BaseSyncOptions instance and a TypeService to instantiate a AssetReferenceResolver instance that could be used to resolve the asset drafts in the CTP
project specified in the injected BaseSyncOptions instance. |
Modifier and Type | Method and Description |
---|---|
protected java.util.concurrent.CompletionStage<io.sphere.sdk.models.AssetDraftBuilder> |
resolveCustomTypeReference(io.sphere.sdk.models.AssetDraftBuilder assetDraftBuilder)
Given a draft of
D (e.g. |
java.util.concurrent.CompletionStage<io.sphere.sdk.models.AssetDraft> |
resolveReferences(io.sphere.sdk.models.AssetDraft assetDraft)
Given a draft this method attempts to resolve the all the references on the draft to return a
CompletionStage which contains a new instance of the draft with the resolved
references. |
resolveCustomTypeReference
getIdFromReference, getKeyFromResourceIdentifier
public AssetReferenceResolver(@Nonnull BaseSyncOptions options, @Nonnull TypeService typeService)
BaseSyncOptions
instance and a TypeService
to instantiate a AssetReferenceResolver
instance that could be used to resolve the asset drafts in the CTP
project specified in the injected BaseSyncOptions
instance.options
- the container of all the options of the sync process including the CTP project
client and/or configuration and other sync-specific options.typeService
- the service to fetch the custom types for reference resolution.@Nonnull public java.util.concurrent.CompletionStage<io.sphere.sdk.models.AssetDraft> resolveReferences(@Nonnull io.sphere.sdk.models.AssetDraft assetDraft)
BaseReferenceResolver
CompletionStage
which contains a new instance of the draft with the resolved
references.resolveReferences
in class BaseReferenceResolver<io.sphere.sdk.models.AssetDraft,BaseSyncOptions>
assetDraft
- the productDraft to resolve it's references.CompletionStage
that contains as a result a new draft instance with resolved
references or, in case an error occurs during reference resolution, a ReferenceResolutionException
.@Nonnull protected java.util.concurrent.CompletionStage<io.sphere.sdk.models.AssetDraftBuilder> resolveCustomTypeReference(@Nonnull io.sphere.sdk.models.AssetDraftBuilder assetDraftBuilder)
CustomReferenceResolver
D
(e.g. CategoryDraft
) this method attempts to resolve it's
custom type reference to return CompletionStage
which contains a new instance of the
draft with the resolved custom type reference.
The method then tries to fetch the key of the custom type, optimistically from a cache. If the key is is not found, the resultant draft would remain exactly the same as the passed draft (without a custom type reference resolution).
resolveCustomTypeReference
in class CustomReferenceResolver<io.sphere.sdk.models.AssetDraft,io.sphere.sdk.models.AssetDraftBuilder,BaseSyncOptions>
assetDraftBuilder
- the draft builder to resolve it's references.CompletionStage
that contains as a result a new draft instance with resolved
custom type references or, in case an error occurs during reference resolution, a ReferenceResolutionException
.