NIMSDK-AOS  10.9.90
V2NIMMessageConfig.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.v2.message.config;
2 
3 import java.io.Serializable;
4 
5 /**
6  * 用于配置 V2NIM 消息的参数类
7  */
8 public class V2NIMMessageConfig implements Serializable {
9 
10  /**
11  * 是否需要消息已读回执信息
12  */
13  private final boolean readReceiptEnabled;
14 
15  /**
16  * 是否需要更新消息所属的会话信息
17  */
18  private final boolean lastMessageUpdateEnabled;
19 
20  /**
21  * 是否需要在服务端保存历史消息
22  */
23  private final boolean historyEnabled;
24 
25  /**
26  * 是否需要漫游消息
27  */
28  private final boolean roamingEnabled;
29 
30  /**
31  * 是否需要发送方多端在线同步消息
32  */
33  private final boolean onlineSyncEnabled;
34 
35  /**
36  * 是否需要存离线消息
37  */
38  private final boolean offlineEnabled;
39 
40  /**
41  * 是否需要计未读
42  */
43  private final boolean unreadEnabled;
44 
45  private V2NIMMessageConfig() {
47  }
48 
49  private V2NIMMessageConfig(boolean readReceiptEnabled, boolean lastMessageUpdateEnabled, boolean historyEnabled, boolean roamingEnabled, boolean onlineSyncEnabled, boolean offlineEnabled, boolean unreadEnabled) {
50  this.readReceiptEnabled = readReceiptEnabled;
51  this.lastMessageUpdateEnabled = lastMessageUpdateEnabled;
52  this.historyEnabled = historyEnabled;
53  this.roamingEnabled = roamingEnabled;
54  this.onlineSyncEnabled = onlineSyncEnabled;
55  this.offlineEnabled = offlineEnabled;
56  this.unreadEnabled = unreadEnabled;
57  }
58 
59  /**
60  * 是否需要消息已读回执信息
61  * @return true 需要,false 不需要
62  */
63  public boolean isReadReceiptEnabled() {
64  return readReceiptEnabled;
65  }
66 
67  /**
68  * 是否需要更新消息所属的会话信息
69  * @return true 需要,false 不需要
70  */
71  public boolean isLastMessageUpdateEnabled() {
72  return lastMessageUpdateEnabled;
73  }
74 
75  /**
76  * 是否需要在服务端保存历史消息
77  * @return true 需要,false 不需要
78  */
79  public boolean isHistoryEnabled() {
80  return historyEnabled;
81  }
82 
83  /**
84  * 是否需要漫游消息
85  * @return true 需要,false 不需要
86  */
87  public boolean isRoamingEnabled() {
88  return roamingEnabled;
89  }
90 
91  /**
92  * 是否需要发送方多端在线同步消息
93  * @return true 需要,false 不需要
94  */
95  public boolean isOnlineSyncEnabled() {
96  return onlineSyncEnabled;
97  }
98 
99  /**
100  * 是否需要存离线消息
101  * @return true 需要,false 不需要
102  */
103  public boolean isOfflineEnabled() {
104  return offlineEnabled;
105  }
106 
107  /**
108  * 是否需要计未读
109  * @return true 需要,false 不需要
110  */
111  public boolean isUnreadEnabled() {
112  return unreadEnabled;
113  }
114 
115  @Override
116  public String toString() {
117  return "V2NIMMessageConfig{" +
118  "readReceiptEnabled=" + readReceiptEnabled +
119  ", conversationUpdateEnabled=" + lastMessageUpdateEnabled +
120  ", historyEnabled=" + historyEnabled +
121  ", roamingEnabled=" + roamingEnabled +
122  ", onlineSyncEnabled=" + onlineSyncEnabled +
123  ", offlineEnabled=" + offlineEnabled +
124  ", unreadEnabled=" + unreadEnabled +
125  '}';
126  }
127 
128  public static final boolean DEFAULT_READ_RECEIPT_ENABLED = false;
129  public static final boolean DEFAULT_LAST_MESSAGE_UPDATE_ENABLED = true;
130  public static final boolean DEFAULT_HISTORY_ENABLED = true;
131  public static final boolean DEFAULT_ROAMING_ENABLED = true;
132  public static final boolean DEFAULT_ONLINE_SYNC_ENABLED = true;
133  public static final boolean DEFAULT_OFFLINE_ENABLED = true;
134  public static final boolean DEFAULT_UNREAD_ENABLED = true;
135 
136  /**
137  * V2NIMMessageConfig 构建器
138  */
139  public static final class V2NIMMessageConfigBuilder {
140  private boolean readReceiptEnabled = DEFAULT_READ_RECEIPT_ENABLED;
141  private boolean lastMessageUpdateEnabled = DEFAULT_LAST_MESSAGE_UPDATE_ENABLED;
142  private boolean historyEnabled = DEFAULT_HISTORY_ENABLED;
143  private boolean roamingEnabled = DEFAULT_ROAMING_ENABLED;
144  private boolean onlineSyncEnabled = DEFAULT_ONLINE_SYNC_ENABLED;
145  private boolean offlineEnabled = DEFAULT_OFFLINE_ENABLED;
146  private boolean unreadEnabled = DEFAULT_UNREAD_ENABLED;
147 
148  private V2NIMMessageConfigBuilder() {
149  }
150 
151  /**
152  * 创建 V2NIMMessageConfigBuilder 实例
153  * @return V2NIMMessageConfigBuilder 实例
154  */
155  public static V2NIMMessageConfigBuilder builder() {
156  return new V2NIMMessageConfigBuilder();
157  }
158 
159  /**
160  * 设置是否需要消息已读回执信息
161  * @param readReceiptEnabled true 需要,false 不需要
162  * @return V2NIMMessageConfigBuilder 实例
163  */
164  public V2NIMMessageConfigBuilder withReadReceiptEnabled(boolean readReceiptEnabled) {
165  this.readReceiptEnabled = readReceiptEnabled;
166  return this;
167  }
168  /**
169  * 设置是否需要更新消息所属的会话信息
170  * @param lastMessageUpdateEnabled true 需要,false 不需要
171  * @return V2NIMMessageConfigBuilder 实例
172  */
173  public V2NIMMessageConfigBuilder withLastMessageUpdateEnabled(boolean lastMessageUpdateEnabled) {
174  this.lastMessageUpdateEnabled = lastMessageUpdateEnabled;
175  return this;
176  }
177 
178  /**
179  * 设置是否需要在服务端保存历史消息
180  * @param historyEnabled true 需要,false 不需要
181  * @return V2NIMMessageConfigBuilder 实例
182  */
183  public V2NIMMessageConfigBuilder withHistoryEnabled(boolean historyEnabled) {
184  this.historyEnabled = historyEnabled;
185  return this;
186  }
187  /**
188  * 设置是否需要漫游消息
189  * @param roamingEnabled true 需要,false 不需要
190  * @return V2NIMMessageConfigBuilder 实例
191  */
192  public V2NIMMessageConfigBuilder withRoamingEnabled(boolean roamingEnabled) {
193  this.roamingEnabled = roamingEnabled;
194  return this;
195  }
196  /**
197  * 设置是否需要发送方多端在线同步消息
198  * @param onlineSyncEnabled true 需要,false 不需要
199  * @return V2NIMMessageConfigBuilder 实例
200  */
201  public V2NIMMessageConfigBuilder withOnlineSyncEnabled(boolean onlineSyncEnabled) {
202  this.onlineSyncEnabled = onlineSyncEnabled;
203  return this;
204  }
205  /**
206  * 设置是否需要存离线消息
207  * @param offlineEnabled true 需要,false 不需要
208  * @return V2NIMMessageConfigBuilder 实例
209  */
210  public V2NIMMessageConfigBuilder withOfflineEnabled(boolean offlineEnabled) {
211  this.offlineEnabled = offlineEnabled;
212  return this;
213  }
214  /**
215  * 设置是否需要计未读
216  * @param unreadEnabled true 需要,false 不需要
217  * @return V2NIMMessageConfigBuilder 实例
218  */
219  public V2NIMMessageConfigBuilder withUnreadEnabled(boolean unreadEnabled) {
220  this.unreadEnabled = unreadEnabled;
221  return this;
222  }
223 
224  /**
225  * 构建 V2NIMMessageConfig 实例
226  * @return V2NIMMessageConfig 实例
227  */
228  public V2NIMMessageConfig build() {
229  return new V2NIMMessageConfig(readReceiptEnabled, lastMessageUpdateEnabled, historyEnabled, roamingEnabled, onlineSyncEnabled, offlineEnabled, unreadEnabled);
230  }
231  }
232 }
boolean isOnlineSyncEnabled()
是否需要发送方多端在线同步消息
boolean isLastMessageUpdateEnabled()
是否需要更新消息所属的会话信息
boolean isReadReceiptEnabled()
是否需要消息已读回执信息
boolean isHistoryEnabled()
是否需要在服务端保存历史消息