Class DefaultCustomerSegmentService<P extends CustomerSegment>

  • Type Parameters:
    P - A type or subtype of CustomerSegment
    All Implemented Interfaces:
    CustomerSegmentService<P>, com.broadleafcommerce.data.tracking.core.service.CrudEntityService<P>, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>

    public class DefaultCustomerSegmentService<P extends CustomerSegment>
    extends com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService<P>
    implements CustomerSegmentService<P>
    Default implementation of CustomerSegmentService
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canManuallyAddCustomerToSegment​(String segmentId, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Evaluates whether the customer segment with the given ID allows manually adding customers.
      protected CustomerSegmentRepository<com.broadleafcommerce.data.tracking.core.Trackable> getRepo()  
      • Methods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseRsqlCrudEntityService

        getRsqlHelper, readAll, readAll, readAll, readAll
      • Methods inherited from class com.broadleafcommerce.data.tracking.core.service.BaseCrudEntityService

        convertFromPersistentDomain, convertToPersistentDomain, create, createAll, createAllAllowingPartialSuccess, delete, getHelper, getRepository, getSortPositionStrategy, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, setSortPositionStrategy, update, updateAll, updateAllAllowingPartialSuccess, updateSort
      • 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
      • Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService

        readAll, readAll, readAll, readAll
    • Constructor Detail

      • DefaultCustomerSegmentService

        public DefaultCustomerSegmentService​(CustomerSegmentRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository,
                                             com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityHelper helper)
    • Method Detail

      • canManuallyAddCustomerToSegment

        public boolean canManuallyAddCustomerToSegment​(String segmentId,
                                                       com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
        Description copied from interface: CustomerSegmentService
        Evaluates whether the customer segment with the given ID allows manually adding customers.

        As an example, using the default customer segment types, CUSTOMER_SET and RULE_BASED, only sets support manually adding customers, as rule based segments are derived.

        Specified by:
        canManuallyAddCustomerToSegment in interface CustomerSegmentService<P extends CustomerSegment>
        Parameters:
        segmentId - The ID of the segment to evaluate
        context - Context information regarding sandboxing and multitenant state
        Returns:
        true if customers may be manually added to this segment, else false