Interface CustomerService<P extends Customer>
- 
- All Superinterfaces:
 com.broadleafcommerce.data.tracking.core.service.CrudEntityService<P>,com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>
- All Known Implementing Classes:
 DefaultCustomerService
public interface CustomerService<P extends Customer> extends com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>Service API forCustomers. Supported byCustomerRepository.- Author:
 - Samarth Dhruva (samarthd)
 
 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<P>readAllByEmail(Set<String> emails, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)Searches for customers in the data store whoseCustomer.emailcontains in the givenemails.org.springframework.data.domain.Page<P>readAllByFullName(String nameQuery, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)Searches for customers in the data store whoseCustomer#namematches the givennameQuery.List<String>readAllUniqueIds(int page, cz.jirutka.rsql.parser.ast.Node filters)Retrieves a list of unique customer context IDs no larger than page.Optional<P>readByContextIdOpt(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)Read a single instance of an entity in the form of a business domain.Stream<P>readCustomersPagingStream(cz.jirutka.rsql.parser.ast.Node filters, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)Reads all customers matching the given filters.Stream<P>streamAll(cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Sort sort, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)Stream a list of customers matching the provided filters- 
Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.CrudEntityService
create, createAll, createAllAllowingPartialSuccess, delete, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess, updateSort 
 - 
 
 - 
 
- 
- 
Method Detail
- 
readByContextIdOpt
Optional<P> readByContextIdOpt(@NonNull String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
Read a single instance of an entity in the form of a business domain.- Parameters:
 id- The context id for the entity. This is the id by which the business recognizes the item.context- Context information used to discriminate the correct version of an entity by context id when multiple verions may be available across sandboxes, catalogs and applications.- Returns:
 - an 
Optionalcontaining the narrowed entity instance in the form of a business instance if found,Optional.empty()otherwise 
 
- 
readAllByFullName
@NonNull org.springframework.data.domain.Page<P> readAllByFullName(@NonNull String nameQuery, @NonNull cz.jirutka.rsql.parser.ast.Node filters, @NonNull org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Searches for customers in the data store whoseCustomer#namematches the givennameQuery. Ignores case.- Parameters:
 nameQuery- the name to search forfilters- An RSQL filter used to narrow query results. May beEmptyNodeif no filters should be applied.page- the requested page of results from the databasecontextInfo- context information surrounding sandboxing and multitenant state- Returns:
 - the customers in the data store whose 
Customer#namematches the givennameQuery. Ignores case. 
 
- 
readAllByEmail
@NonNull List<P> readAllByEmail(@NonNull Set<String> emails, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Searches for customers in the data store whoseCustomer.emailcontains in the givenemails. Ignores case.- Parameters:
 emails- the set of emails to search forcontextInfo- context information surrounding sandboxing and multitenant state- Returns:
 - the customers in the data store whose 
Customer.emailcontains in the givenemails. Ignores case. 
 
- 
readAllUniqueIds
List<String> readAllUniqueIds(int page, @NonNull cz.jirutka.rsql.parser.ast.Node filters)
Retrieves a list of unique customer context IDs no larger than page. It is expected that any appropriate offset is achieved through criteria designated infilters.- Parameters:
 page- the requested page of results from the database. -1 indicates no limit.filters- An RSQL filter used to narrow query results. May beEmptyNodeif no filters should be applied.- Returns:
 - unique customer IDs
 
 
- 
streamAll
Stream<P> streamAll(@NonNull cz.jirutka.rsql.parser.ast.Node filters, @NonNull org.springframework.data.domain.Sort sort, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Stream a list of customers matching the provided filters- Parameters:
 filters- An RSQL filter used to narrow query results. May beEmptyNodeif no filters should be applied.sort- The string containing the structured list of sorts to apply. May beSort.unsorted()contextInfo- context information surrounding sandboxing and multitenant state- Returns:
 - A stream of customers matching the filters.
 
 
- 
readCustomersPagingStream
Stream<P> readCustomersPagingStream(@Nullable cz.jirutka.rsql.parser.ast.Node filters, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
Reads all customers matching the given filters. In case filters are empty, all customers are returned.- Parameters:
 filters- additional filters to apply in the querycontextInfo- Request context information around sandbox and multitenant state- Returns:
 - the customers matching the given filters
 
 
 - 
 
 -