Interface CxSegmentService
-
- All Known Implementing Classes:
DefaultCxSegmentService
public interface CxSegmentServiceService for operations on cxSegment models
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Optional<CxSegmentModel>getSegment(java.lang.String code)Retrieves segment with given codeSearchPageData<CxSegmentModel>getSegments(java.util.Map<java.lang.String,java.lang.String> filters, SearchPageData<?> pagination)Retrieves segmentsjava.util.Collection<CxSegmentModel>getSegmentsForCodes(java.util.Collection<java.lang.String> codes)Retrieves all segments of given user.java.util.Collection<CxSegmentModel>getSegmentsFromUser(UserModel user)Retrieves all segments of given user.java.util.Collection<UserModel>getUsersFromSegment(CxSegmentModel segment)Retrieves all users related to this segmentjava.util.Collection<CxUserToSegmentModel>getUserToSegmentForCalculation(UserModel user)Retrieves user to segments of given user.java.util.Collection<CxUserToSegmentModel>getUserToSegmentForUser(UserModel user)Retrieves all user to segments of given user.SearchPageData<CxUserToSegmentModel>getUserToSegmentModel(UserModel user, CxSegmentModel segment, BaseSiteModel baseSite, SearchPageData<?> pagination)Retrieves relation object between user and segment.voidremoveUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)Removes provided user to segment relations from model.voidsaveUserToSegments(java.util.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 Detail
-
getSegment
java.util.Optional<CxSegmentModel> getSegment(java.lang.String code)
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(java.util.Map<java.lang.String,java.lang.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
java.util.Collection<UserModel> getUsersFromSegment(CxSegmentModel segment)
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
java.util.Collection<CxSegmentModel> getSegmentsFromUser(UserModel user)
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
java.util.Collection<CxUserToSegmentModel> getUserToSegmentForUser(UserModel user)
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
java.util.Collection<CxUserToSegmentModel> getUserToSegmentForCalculation(UserModel user)
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
void saveUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)
Saves user to segment relations.- Parameters:
userToSegments- collection of CxUserToSegmentModel to be saved
-
removeUserToSegments
void removeUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)
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
void updateUserSegments(UserModel user)
Updates segments for given user.- Parameters:
user- to be updated
-
updateUserSegments
void updateUserSegments(UserModel user, CxCalculationContext context)
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
java.util.Collection<CxSegmentModel> getSegmentsForCodes(java.util.Collection<java.lang.String> codes)
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
void updateSegments(CxUpdateSegmentContext context)
Update segments- Parameters:
context- - Context containing additional parameters for segment update e.g providers- Since:
- 1905
-
-