1 package com.netease.nimlib.sdk.v2.message.params;
11 private final String keyword;
13 private final long beginTime;
15 private final long endTime;
20 private final int conversationLimit;
24 private final int messageLimit;
29 private final List<String> p2pAccountIds;
32 private final List<String> teamIds;
34 private final List<String> senderAccountIds;
36 private final List<V2NIMMessageType> messageTypes;
38 private final List<Integer> messageSubtypes;
41 this(
"", 0, 0, 0, DEFAULT_CONVERSATION_LIMIT, DEFAULT_SORT_ORDER, null, null, null, null, null);
44 private V2NIMMessageSearchParams(String keyword,
long beginTime,
long endTime,
int conversationLimit,
int messageLimit,
V2NIMSortOrder sortOrder, List<String> p2pAccountIds, List<String> teamIds, List<String> senderAccountIds, List<V2NIMMessageType> messageTypes, List<Integer> messageSubtypes) {
45 this.keyword = keyword;
46 this.beginTime = beginTime;
47 this.endTime = endTime;
48 this.conversationLimit = conversationLimit;
49 this.messageLimit = messageLimit;
50 this.sortOrder = sortOrder;
51 this.p2pAccountIds = p2pAccountIds;
52 this.teamIds = teamIds;
53 this.senderAccountIds = senderAccountIds;
54 this.messageTypes = messageTypes;
55 this.messageSubtypes = messageSubtypes;
71 return conversationLimit;
79 if (sortOrder == null) {
95 return senderAccountIds;
103 return messageSubtypes;
108 return "V2NIMMessageSearchParams{" +
109 "keyword='" + keyword +
'\'' +
110 ", beginTime=" + beginTime +
111 ", endTime=" + endTime +
112 ", conversationLimit=" + conversationLimit +
113 ", messageLimit=" + messageLimit +
114 ", sortOrder=" + sortOrder +
115 ", p2pAccountIds=" + p2pAccountIds +
116 ", teamIds=" + teamIds +
117 ", senderAccountIds=" + senderAccountIds +
118 ", messageTypes=" + messageTypes +
119 ", messageSubtypes=" + messageSubtypes +
123 private static final int DEFAULT_CONVERSATION_LIMIT = 10;
126 public static final class V2NIMMessageSearchParamsBuilder {
127 private final String keyword;
128 private long beginTime = 0;
129 private long endTime = 0;
130 private int conversationLimit = 0;
131 private int messageLimit = DEFAULT_CONVERSATION_LIMIT;
133 private List<String> p2pAccountIds;
134 private List<String> teamIds;
135 private List<String> senderAccountIds;
136 private List<V2NIMMessageType> messageTypes;
137 private List<Integer> messageSubtypes;
139 private V2NIMMessageSearchParamsBuilder(String keyword) {
140 this.keyword = keyword;
143 public static V2NIMMessageSearchParamsBuilder builder(String keyword) {
144 return new V2NIMMessageSearchParamsBuilder(keyword);
147 public V2NIMMessageSearchParamsBuilder withBeginTime(
long beginTime) {
148 this.beginTime = beginTime;
152 public V2NIMMessageSearchParamsBuilder withEndTime(
long endTime) {
153 this.endTime = endTime;
157 public V2NIMMessageSearchParamsBuilder withConversationLimit(
int conversationLimit) {
158 this.conversationLimit = conversationLimit;
162 public V2NIMMessageSearchParamsBuilder withMessageLimit(
int messageLimit) {
163 this.messageLimit = messageLimit;
167 public V2NIMMessageSearchParamsBuilder withSortOrder(
V2NIMSortOrder sortOrder) {
168 this.sortOrder = sortOrder;
172 public V2NIMMessageSearchParamsBuilder withP2pAccountIds(List<String> p2pAccountIds) {
173 this.p2pAccountIds = p2pAccountIds;
177 public V2NIMMessageSearchParamsBuilder withTeamIds(List<String> teamIds) {
178 this.teamIds = teamIds;
182 public V2NIMMessageSearchParamsBuilder withSenderAccountIds(List<String> senderAccountIds) {
183 this.senderAccountIds = senderAccountIds;
187 public V2NIMMessageSearchParamsBuilder withMessageTypes(List<V2NIMMessageType> messageTypes) {
188 this.messageTypes = messageTypes;
192 public V2NIMMessageSearchParamsBuilder withMessageSubtypes(List<Integer> messageSubtypes) {
193 this.messageSubtypes = messageSubtypes;
198 return new V2NIMMessageSearchParams(keyword, beginTime, endTime, conversationLimit, messageLimit, sortOrder, p2pAccountIds, teamIds, senderAccountIds, messageTypes, messageSubtypes);
int getConversationLimit()
List< String > getSenderAccountIds()
List< String > getTeamIds()
List< V2NIMMessageType > getMessageTypes()
List< Integer > getMessageSubtypes()
V2NIMSortOrder getSortOrder()
List< String > getP2pAccountIds()