NIMSDK-AOS  10.10.13
V2NIMMessageTargetConfig.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.v2.message.config;
2 
3 import com.netease.nimlib.SDKCacheUI;
4 import com.netease.nimlib.util.CollectionUtil;
5 import java.io.Serializable;
6 import java.util.ArrayList;
7 import java.util.List;
8 
9 public class V2NIMMessageTargetConfig implements Serializable {
10 
11  /**
12  * true 表示消息发送到群组中 receiverIds 对应的成员, false 表示消息发送到群组中排除 receiverIds 以外的所有成员。
13  * <p>
14  * 当发送的消息会话类型为超级群时不允许设置该字段为 false
15  */
16  private boolean inclusive = true;
17  /**
18  * 消息接收者ID列表
19  */
20  private List<String> receiverIds;
21  /**
22  * 新成员是否可以查看该定向消息
23  */
24  private boolean newMemberVisible = false;
25 
27  }
28 
29  /**
30  *
31  * @param receiverIds 消息接收者ID列表
32  */
33  public V2NIMMessageTargetConfig(List<String> receiverIds) {
34  setReceiverIds(receiverIds);
35  }
36 
37  /**
38  *
39  * @param inclusive true 表示消息发送到群组中 receiverIds 对应的成员, false 表示消息发送到群组中排除 receiverIds 以外的所有成员。
40  * 当发送的消息会话类型为超级群时不允许设置该字段为 false
41  * @param receiverIds 消息接收者ID列表
42  * @param newMemberVisible 新成员是否可以查看该定向消息
43  */
44  public V2NIMMessageTargetConfig(boolean inclusive, List<String> receiverIds, boolean newMemberVisible) {
45  this(receiverIds);
46  this.inclusive = inclusive;
47  this.newMemberVisible = newMemberVisible;
48  }
49 
50  /**
51  * 获取inclusive字段的值
52  * @return inclusive字段的值,true 表示消息发送到群组中 receiverIds 对应的成员, false 表示消息发送到群组中排除 receiverIds 以外的所有成员。
53  * 当发送的消息会话类型为超级群时不允许设置该字段为 false
54  */
55  public boolean isInclusive() {
56  return this.inclusive;
57  }
58 
59  /**
60  * 设置inclusive字段的值
61  * @param inclusive 新的inclusive字段的值,true 表示消息发送到群组中 receiverIds 对应的成员, false 表示消息发送到群组中排除 receiverIds 以外的所有成员。
62  * 当发送的消息会话类型为超级群时不允许设置该字段为 false
63  */
64  public void setInclusive(boolean inclusive) {
65  this.inclusive = inclusive;
66  }
67 
68  /**
69  * 获取receiverIds字段的值
70  * @return receiverIds字段的值,消息接收者ID列表
71  */
72  public List<String> getReceiverIds() {
73  return this.receiverIds;
74  }
75 
76  /**
77  * 设置receiverIds字段的值
78  * @param receiverIds 新的receiverIds字段的值,消息接收者ID列表
79  */
80  public void setReceiverIds(List<String> receiverIds) {
81  if(CollectionUtil.isEmpty(receiverIds)) {
82  this.receiverIds = null;
83  }else{
84  this.receiverIds = new ArrayList<>(receiverIds.size());
85  for(String id : receiverIds){
86  if(id != null && !id.isEmpty() && !id.equals(SDKCacheUI.getAccount())){
87  this.receiverIds.add(id);
88  }
89  }
90  }
91  }
92 
93  /**
94  * 获取newMemberVisible字段的值
95  * @return newMemberVisible字段的值,新成员是否可以查看该定向消息
96  */
97  public boolean isNewMemberVisible() {
98  return this.newMemberVisible;
99  }
100 
101  /**
102  * 设置newMemberVisible字段的值
103  * @param newMemberVisible 新的newMemberVisible字段的值,新成员是否可以查看该定向消息
104  */
105  public void setNewMemberVisible(boolean newMemberVisible) {
106  this.newMemberVisible = newMemberVisible;
107  }
108  /**
109  * 判断当前对象是否有效
110  * @return 当前对象是否有效
111  */
112  public boolean isValid() {
113  // receiverIds 不能为空
114  if(CollectionUtil.isEmpty(receiverIds)){
115  return false;
116  }
117  return true;
118  }
119 
120  public String getInvalidMsg() {
121  if(receiverIds == null){
122  return "receiverIds is null";
123  }else if(receiverIds.isEmpty()){
124  return "receiverIds is empty";
125  }
126  return null;
127  }
128 
129 }
void setInclusive(boolean inclusive)
设置inclusive字段的值
void setNewMemberVisible(boolean newMemberVisible)
设置newMemberVisible字段的值
void setReceiverIds(List< String > receiverIds)
设置receiverIds字段的值
V2NIMMessageTargetConfig(boolean inclusive, List< String > receiverIds, boolean newMemberVisible)