Interface CxSegmentService
-
- All Known Implementing Classes:
DefaultCxSegmentService
public interface CxSegmentService
Service 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.void
removeUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)
Removes provided user to segment relations from model.void
saveUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)
Saves user to segment relations.void
updateSegments(CxUpdateSegmentContext context)
Update segmentsvoid
updateUserSegments(UserModel user)
Updates segments for given user.void
updateUserSegments(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
-
-