Interface CxSegmentService
- All Known Implementing Classes:
DefaultCxSegmentService
public interface CxSegmentService
Service for operations on cxSegment models
-
Method Summary
Modifier and TypeMethodDescriptiongetSegment(String code) Retrieves segment with given codegetSegments(Map<String, String> filters, SearchPageData<?> pagination) Retrieves segmentsgetSegmentsForCodes(Collection<String> codes) Retrieves all segments of given user.getSegmentsFromUser(UserModel user) Retrieves all segments of given user.getUsersFromSegment(CxSegmentModel segment) Retrieves all users related to this segmentRetrieves user to segments of given user.Retrieves all user to segments of given user.getUserToSegmentModel(UserModel user, CxSegmentModel segment, BaseSiteModel baseSite, SearchPageData<?> pagination) Retrieves relation object between user and segment.voidremoveUserToSegments(Collection<CxUserToSegmentModel> userToSegments) Removes provided user to segment relations from model.voidsaveUserToSegments(Collection<CxUserToSegmentModel> userToSegments) Saves user to segment relations.voidupdateSegments(CxUpdateSegmentContext context) Update segmentsvoidupdateUserSegments(UserModel user) Updates segments for given user.voidupdateUserSegments(UserModel user, CxCalculationContext context) Updates segments for given user.
-
Method Details
-
getSegment
Retrieves segment with given code- Parameters:
code- identifier of segment- Returns:
- segment with given code of optional.empty if not found
-
getSegments
SearchPageData<CxSegmentModel> getSegments(Map<String, String> filters, SearchPageData<?> pagination) Retrieves segments- Parameters:
filters- parameters for filteringpagination- holder of pagination data and sort options- Returns:
- SearchPageData with result list, used pagination and sort options
-
getUsersFromSegment
Retrieves all users related to this segment- Parameters:
segment- for which users should be retrieved- Returns:
- Collection of users. Empty list if no users are related to this segment.
-
getSegmentsFromUser
Retrieves all segments of given user.- Parameters:
user- for which segments should be retrieved- Returns:
- Collection of segments. Empty list if no segments are related to given user.
-
getUserToSegmentForUser
Retrieves all user to segments of given user.- Parameters:
user- for which segments should be retrieved- Returns:
- Collection of segments. Empty list if no segments are related to given user.
-
getUserToSegmentForCalculation
Retrieves user to segments of given user. This method check also user consent.
Method will return empty list if consent was not given.- 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.
-
saveUserToSegments
Saves user to segment relations.- Parameters:
userToSegments- collection of CxUserToSegmentModel to be saved
-
removeUserToSegments
Removes provided user to segment relations from model.- Parameters:
userToSegments- collection of CxUserToSegmentModel to be removed
-
getUserToSegmentModel
SearchPageData<CxUserToSegmentModel> getUserToSegmentModel(UserModel user, CxSegmentModel segment, BaseSiteModel baseSite, SearchPageData<?> pagination) 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.- Parameters:
user- defining one side of relation - may be null which means all userssegment- defining other side of relation - may be null which means all segmentsbaseSite- defining other side of relation - may be null which means all segments,users without assigned baseSitepagination- holder of pagination data and sort options- Returns:
- collection of relation between given user and segment. Empty if no relation was found.
-
updateUserSegments
Updates segments for given user.- Parameters:
user- to be updated
-
updateUserSegments
Updates segments for given user.- Parameters:
user- to be updatedcontext- Context containing additional parameters for update e.g. providers which should be considered with this update process.- Since:
- 1811
-
getSegmentsForCodes
Retrieves all segments of given user.- Parameters:
codes- list of identifiers of segments- Returns:
- Collection of segments. Empty list if no segments are related to given user.
-
updateSegments
Update segments- Parameters:
context- - Context containing additional parameters for segment update e.g providers- Since:
- 1905
-