1 package com.netease.nimlib.sdk.v2.message.params;
15 private final String conversationId;
20 private final List<String> keywordList;
33 private final List<String> senderAccountIds;
40 private final List<V2NIMMessageType> messageTypes;
47 private final List<Integer> messageSubtypes;
52 private final long searchStartTime;
57 private final long searchTimePeriod;
62 private final int limit;
75 private final String pageToken;
78 this(null, null,
V2NIMSearchKeywordMathType.
V2NIM_SEARCH_KEYWORD_MATH_TYPE_OR, null, null,null, 0, 0,
LIMIT_DEFAULT, DIRECTION_DEFAULT, STRATEGY_DEFAULT, null);
81 private V2NIMMessageSearchExParams(String conversationId, List<String> keywordList,
V2NIMSearchKeywordMathType keywordMatchType, List<String> senderAccountIds, List<V2NIMMessageType> messageTypes, List<Integer> messageSubtypes,
long searchStartTime,
long searchTimePeriod,
int limit,
V2NIMSearchDirection direction,
V2NIMSearchStrategy strategy, String pageToken) {
82 this.conversationId = conversationId;
83 this.keywordList = keywordList;
84 this.keywordMatchType = keywordMatchType;
85 this.senderAccountIds = senderAccountIds;
86 this.messageTypes = messageTypes;
87 this.messageSubtypes = messageSubtypes;
88 this.searchStartTime = searchStartTime;
89 this.searchTimePeriod = searchTimePeriod;
91 this.direction = direction;
92 this.strategy = strategy;
93 this.pageToken = pageToken;
101 return conversationId;
117 return keywordMatchType;
125 return senderAccountIds;
141 return messageSubtypes;
149 return searchStartTime;
157 return searchTimePeriod;
194 return "V2NIMMessageSearchExParams{" +
195 "conversationId='" + conversationId +
'\'' +
196 ", keywordList=" + keywordList +
197 ", keywordMatchType=" + keywordMatchType +
198 ", senderAccountIds=" + senderAccountIds +
199 ", messageTypes=" + messageTypes +
200 ", messageSubtypes=" + messageSubtypes +
201 ", searchStartTime=" + searchStartTime +
202 ", searchTimePeriod=" + searchTimePeriod +
204 ", pageToken='" + pageToken +
'\'' +
216 public static final class V2NIMMessageSearchExParamsBuilder {
223 private String conversationId;
228 private List<String> keywordList;
241 private List<String> senderAccountIds;
248 private List<V2NIMMessageType> messageTypes;
255 private List<Integer> messageSubtypes;
260 private long searchStartTime;
265 private long searchTimePeriod;
283 private String pageToken;
285 private V2NIMMessageSearchExParamsBuilder() {
292 public static V2NIMMessageSearchExParamsBuilder builder() {
293 return new V2NIMMessageSearchExParamsBuilder();
303 public V2NIMMessageSearchExParamsBuilder withConversationId(String conversationId) {
304 this.conversationId = conversationId;
314 public V2NIMMessageSearchExParamsBuilder withKeywordList(List<String> keywordList) {
315 this.keywordList = keywordList;
326 this.keywordMatchType = keywordMatchType;
336 public V2NIMMessageSearchExParamsBuilder withSenderAccountIds(List<String> senderAccountIds) {
337 this.senderAccountIds = senderAccountIds;
347 public V2NIMMessageSearchExParamsBuilder withMessageTypes(List<V2NIMMessageType> messageTypes) {
348 this.messageTypes = messageTypes;
357 public V2NIMMessageSearchExParamsBuilder withMessageSubtypes(List<Integer> messageSubtypes) {
358 this.messageSubtypes = messageSubtypes;
367 public V2NIMMessageSearchExParamsBuilder withSearchStartTime(
long searchStartTime) {
368 this.searchStartTime = searchStartTime;
378 public V2NIMMessageSearchExParamsBuilder withSearchTimePeriod(
long searchTimePeriod) {
379 this.searchTimePeriod = searchTimePeriod;
388 public V2NIMMessageSearchExParamsBuilder withLimit(
int limit) {
399 if(direction == null){
402 this.direction = direction;
411 public V2NIMMessageSearchExParamsBuilder withSearchStrategy(
V2NIMSearchStrategy strategy) {
412 this.strategy = strategy;
421 public V2NIMMessageSearchExParamsBuilder withPageToken(String pageToken) {
422 this.pageToken = pageToken;
431 return new V2NIMMessageSearchExParams(conversationId, keywordList, keywordMatchType, senderAccountIds, messageTypes, messageSubtypes, searchStartTime, searchTimePeriod, limit, direction, strategy, pageToken);
static final int LIMIT_DEFAULT
V2NIM_SEARCH_KEYWORD_MATH_TYPE_OR
String getPageToken()
获取搜索起始位置
V2NIM_SEARCH_DIRECTION_BACKWARD
static final int LIMIT_MAX
List< String > getKeywordList()
获取关键字列表
String getConversationId()
获取会话ID
V2NIMSearchDirection getDirection()
获取检索方向
List< Integer > getMessageSubtypes()
获取消息子类型列表
long getSearchTimePeriod()
获取搜索时间范围
V2NIMSearchStrategy getStrategy()
获取消息检索的策略
V2NIMSearchKeywordMathType getKeywordMatchType()
获取关键字匹配类型
V2NIM_SEARCH_STRATEGY_FTS
long getSearchStartTime()
获取搜索起始时间
List< V2NIMMessageType > getMessageTypes()
获取消息类型列表
List< String > getSenderAccountIds()
获取发送者列表