1 package com.netease.nimlib.sdk.v2.message.option;
3 import androidx.annotation.NonNull;
4 import androidx.annotation.Nullable;
8 import java.io.Serializable;
22 private final String conversationId;
26 private final List<V2NIMMessageType> messageTypes;
32 private final long beginTime;
38 private final long endTime;
43 private final int limit;
62 this(
"", null, DEFAULT_BEGIN_TIME, DEFAULT_END_TIME, DEFAULT_LIMIT, null, DEFAULT_DIRECTION);
76 private V2NIMCloudMessageListOption(@NonNull String conversationId, @Nullable List<V2NIMMessageType> messageTypes,
long beginTime,
long endTime,
78 this.conversationId = conversationId;
79 this.messageTypes = messageTypes;
80 this.beginTime = beginTime;
81 this.endTime = endTime;
83 this.anchorMessage = anchorMessage;
84 this.direction = direction == null ? DEFAULT_DIRECTION : direction;
94 return conversationId;
139 return anchorMessage;
148 if (direction == null) {
149 return DEFAULT_DIRECTION;
159 private static final long DEFAULT_BEGIN_TIME = 0;
163 private static final long DEFAULT_END_TIME = 0;
167 private static final int DEFAULT_LIMIT = 50;
176 public static final class V2NIMCloudMessageListOptionBuilder {
178 private final String conversationId;
179 private List<V2NIMMessageType> messageTypes;
180 private long beginTime = DEFAULT_BEGIN_TIME;
181 private long endTime = DEFAULT_END_TIME;
182 private int limit = DEFAULT_LIMIT;
191 private V2NIMCloudMessageListOptionBuilder(
final String conversationId) {
192 this.conversationId = conversationId;
202 public static V2NIMCloudMessageListOptionBuilder builder(
final String conversationId) {
203 return new V2NIMCloudMessageListOptionBuilder(conversationId);
213 public V2NIMCloudMessageListOptionBuilder withMessageTypes(List<V2NIMMessageType> messageTypes) {
214 this.messageTypes = messageTypes;
225 public V2NIMCloudMessageListOptionBuilder withBeginTime(
long beginTime) {
226 this.beginTime = beginTime;
237 public V2NIMCloudMessageListOptionBuilder withEndTime(
long endTime) {
238 this.endTime = endTime;
249 public V2NIMCloudMessageListOptionBuilder withLimit(
int limit) {
261 public V2NIMCloudMessageListOptionBuilder withAnchorMessage(
V2NIMMessage anchorMessage) {
262 this.anchorMessage = anchorMessage;
274 this.direction = direction;
List< V2NIMMessageType > getMessageTypes()
获取消息类型列表
long getBeginTime()
获取查询开始时间
long getEndTime()
获取查询结束时间
V2NIM_QUERY_DIRECTION_DESC
String getConversationId()
获取会话ID
V2NIMMessage getAnchorMessage()
获取锚点消息
V2NIMMessageQueryDirection getDirection()
获取查询方向