java.lang.Object
com.broadleafcommerce.subscriptionoperation.service.provider.external.AbstractExternalProvider
com.broadleafcommerce.subscriptionoperation.service.provider.external.ExternalCustomerProvider<F>
All Implemented Interfaces:
CustomerProvider<F>

public class ExternalCustomerProvider<F extends FilteredAccounts> extends AbstractExternalProvider implements CustomerProvider<F>
  • Constructor Details

    • ExternalCustomerProvider

      public ExternalCustomerProvider(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCustomerProviderProperties properties)
  • Method Details

    • readAccountsBySegments

      public F readAccountsBySegments(Set<String> includeSegmentIds, @Nullable Set<String> excludeSegmentIds, Set<String> accountIds, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CustomerProvider
      Group the requested account ids by the requested segments that match those accounts.
      Specified by:
      readAccountsBySegments in interface CustomerProvider<F extends FilteredAccounts>
      Parameters:
      includeSegmentIds - The ids of candidate CustomerSegments whose matching accounts should be included
      excludeSegmentIds - The ids of candidate CustomerSegments whose matching accounts should be excluded from the include results
      accountIds - The ids of candidate Accounts
      contextInfo - Context information surrounding sandboxing and multitenant state
      Returns:
      A map of segment ids to the accounts that match those segments
    • getBaseUri

      protected org.springframework.web.util.UriComponentsBuilder getBaseUri()
      Gets the base URI common to all requests this provider will make.
      Returns:
      a URI components builder with the base URI set up
    • getServiceClient

      protected String getServiceClient()
    • getProperties

      protected ExternalCustomerProviderProperties getProperties()