Class DefaultCxSegmentService

    • Constructor Detail

      • DefaultCxSegmentService

        public DefaultCxSegmentService()
    • Method Detail

      • getSegment

        public java.util.Optional<CxSegmentModel> getSegment​(java.lang.String code)
        Description copied from interface: CxSegmentService
        Retrieves segment with given code
        Specified by:
        getSegment in interface CxSegmentService
        Parameters:
        code - identifier of segment
        Returns:
        segment with given code of optional.empty if not found
      • getSegments

        public SearchPageData<CxSegmentModel> getSegments​(java.util.Map<java.lang.String,​java.lang.String> filters,
                                                          SearchPageData<?> pagination)
        Description copied from interface: CxSegmentService
        Retrieves segments
        Specified by:
        getSegments in interface CxSegmentService
        Parameters:
        filters - parameters for filtering
        pagination - holder of pagination data and sort options
        Returns:
        SearchPageData with result list, used pagination and sort options
      • getSegmentsForCodes

        public java.util.Collection<CxSegmentModel> getSegmentsForCodes​(java.util.Collection<java.lang.String> codes)
        Description copied from interface: CxSegmentService
        Retrieves all segments of given user.
        Specified by:
        getSegmentsForCodes in interface CxSegmentService
        Parameters:
        codes - list of identifiers of segments
        Returns:
        Collection of segments. Empty list if no segments are related to given user.
      • getUsersFromSegment

        public java.util.Collection<UserModel> getUsersFromSegment​(CxSegmentModel segment)
        Description copied from interface: CxSegmentService
        Retrieves all users related to this segment
        Specified by:
        getUsersFromSegment in interface CxSegmentService
        Parameters:
        segment - for which users should be retrieved
        Returns:
        Collection of users. Empty list if no users are related to this segment.
      • getSegmentsFromUser

        public java.util.Collection<CxSegmentModel> getSegmentsFromUser​(UserModel user)
        Description copied from interface: CxSegmentService
        Retrieves all segments of given user.
        Specified by:
        getSegmentsFromUser in interface CxSegmentService
        Parameters:
        user - for which segments should be retrieved
        Returns:
        Collection of segments. Empty list if no segments are related to given user.
      • getUserToSegmentForCalculation

        public java.util.Collection<CxUserToSegmentModel> getUserToSegmentForCalculation​(UserModel user)
        Description copied from interface: CxSegmentService
        Retrieves user to segments of given user. This method check also user consent.
        Method will return empty list if consent was not given.
        Specified by:
        getUserToSegmentForCalculation in interface CxSegmentService
        Parameters:
        user - User for which segments should be retrieved
        Returns:
        Collection of segments. Empty list if no segments are related to given user or user didn't give consent.
      • getUserToSegmentForUser

        public java.util.Collection<CxUserToSegmentModel> getUserToSegmentForUser​(UserModel user)
        Description copied from interface: CxSegmentService
        Retrieves all user to segments of given user.
        Specified by:
        getUserToSegmentForUser in interface CxSegmentService
        Parameters:
        user - for which segments should be retrieved
        Returns:
        Collection of segments. Empty list if no segments are related to given user.
      • getUserToSegmentForCurrentBaseSite

        protected java.util.Collection<CxUserToSegmentModel> getUserToSegmentForCurrentBaseSite​(UserModel user)
      • removeUserToSegments

        public void removeUserToSegments​(java.util.Collection<CxUserToSegmentModel> userToSegments)
        Description copied from interface: CxSegmentService
        Removes provided user to segment relations from model.
        Specified by:
        removeUserToSegments in interface CxSegmentService
        Parameters:
        userToSegments - collection of CxUserToSegmentModel to be removed
      • getUserToSegmentModel

        public SearchPageData<CxUserToSegmentModel> getUserToSegmentModel​(UserModel user,
                                                                          CxSegmentModel segment,
                                                                          BaseSiteModel baseSite,
                                                                          SearchPageData<?> pagination)
        Description copied from interface: CxSegmentService
        Retrieves relation object between user and segment. user and segment may be null. In such case this parameter is ignored and paginated collection of relations is returned.
        Specified by:
        getUserToSegmentModel in interface CxSegmentService
        Parameters:
        user - defining one side of relation - may be null which means all users
        segment - defining other side of relation - may be null which means all segments
        baseSite - defining other side of relation - may be null which means all segments,users without assigned baseSite
        pagination - holder of pagination data and sort options
        Returns:
        collection of relation between given user and segment. Empty if no relation was found.
      • updateUserSegments

        public void updateUserSegments​(UserModel user,
                                       CxCalculationContext context)
        Description copied from interface: CxSegmentService
        Updates segments for given user.
        Specified by:
        updateUserSegments in interface CxSegmentService
        Parameters:
        user - to be updated
        context - Context containing additional parameters for update e.g. providers which should be considered with this update process.
      • setCxConsentService

        public void setCxConsentService​(CxConsentService cxConsentService)
      • getCxSegmentDao

        protected CxSegmentDao getCxSegmentDao()
      • setCxSegmentDao

        public void setCxSegmentDao​(CxSegmentDao cxSegmentDao)
      • setCxUserToSegmentDao

        public void setCxUserToSegmentDao​(CxUserToSegmentDao cxUserToSegmentDao)
      • setUpdateUserSegmentStrategy

        public void setUpdateUserSegmentStrategy​(UpdateUserSegmentStrategy updateUserSegmentStrategy)
      • setUpdateSegmentStrategy

        public void setUpdateSegmentStrategy​(UpdateSegmentStrategy updateSegmentStrategy)
      • setCxUserSegmentSessionService

        public void setCxUserSegmentSessionService​(CxUserSegmentSessionService cxUserSegmentSessionService)
      • setCxUserSegmentService

        public void setCxUserSegmentService​(CxUserSegmentService cxUserSegmentService)
      • setCxUserSegmentConversionHelper

        public void setCxUserSegmentConversionHelper​(CxUserSegmentConversionHelper cxUserSegmentConversionHelper)
      • setBaseSiteService

        public void setBaseSiteService​(BaseSiteService baseSiteService)