NIMSDK-AOS  10.8.10
全部  命名空间 文件 函数 变量 
ChatRoomMember.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.chatroom.model;
2 
3 import android.os.Parcel;
4 import android.os.Parcelable;
6 import com.netease.nimlib.session.MsgHelper;
7 import java.io.Serializable;
8 import java.util.Map;
9 
10 /**
11  * 聊天室成员信息
12  */
13 public class ChatRoomMember implements Serializable,Parcelable {
14  private String roomId; // 聊天室id
15  private String account; // 成员账号
16  private MemberType type; // 成员类型:主要分为游客和非游客,非游客又分成受限用户、普通用户、创建者、管理员;
17  private int memberLevel; // 成员级别:大于等于0表示用户开发者可以自定义的级别
18 
19  /// 进入聊天室时提交
20  private String nick; // 聊天室内的昵称字段,预留字段,可从NimUserInfo中取,也可以由用户进聊天室时提交。
21  private String avatar; // 聊天室内的头像,预留字段,可从NimUserInfo中取avatar,可以由用户进聊天室时提交。
22  private Map<String, Object> extension; // 开发者扩展字段,长度限制4k,可以由用户进聊天室时提交。
23  private String extensionStr; // 开发者扩展字段,长度限制4k,可以由用户进聊天室时提交。
24 
25  // 仅成员在线时有效
26  private boolean isOnline; // 成员是否处于在线状态,仅特殊成员才可能离线,对游客/匿名用户而言只能是在线。
27  private boolean inBlackList;// 是否在黑名单中
28  private boolean isMuted; // 是禁言用户
29  private boolean isValid; // 记录有效标记为
30  private long enterTime; // 进入聊天室的时间点,对于离线成员该字段为空
31  private long updateTime; // 固定成员的记录更新时间,用于固定成员列表的排列查询
32  private boolean isTempMuted; // 是否临时禁言
33  private long tempMuteDuration; // 临时禁言的解除时长,单位秒
34  private String tags; // 用户标签
35  private String notifyTargetTags;// 通知目标标签
36 
37  public ChatRoomMember() {
38  }
39 
40  /**
41  * 获取聊天室id
42  * @return 聊天室id
43  */
44  public String getRoomId() {
45  return roomId;
46  }
47 
48  /**
49  * 获取成员帐号
50  * @return 成员account
51  */
52  public String getAccount() {
53  return account;
54  }
55 
56  /**
57  * 获取成员类型
58  * 成员类型:主要分为游客和非游客。
59  * 非游客又分成受限用户、普通用户、创建者、管理员;
60  * @return 成员类型
61  */
63  return type;
64  }
65 
66  /**
67  * 获取成员级别
68  * 大于等于0表示用户开发者可以自定义的级别
69  * @return 成员级别
70  */
71  public int getMemberLevel() {
72  return memberLevel;
73  }
74 
75  /**
76  * 获取昵称
77  * 可从NimUserInfo中取,也可以由用户进聊天室时提交。
78  * @return 昵称
79  */
80  public String getNick() {
81  return nick;
82  }
83 
84  /**
85  * 获取头像
86  * 可从NimUserInfo中取avatar,可以由用户进聊天室时提交。
87  * @return 头像
88  */
89  public String getAvatar() {
90  return avatar;
91  }
92 
93  /**
94  * 获取扩展字段
95  * 长度限制4k,可以由用户进聊天室时提交。
96  * @return 返回扩展字段
97  */
98  public Map<String, Object> getExtension() {
99  return extension;
100  }
101 
102  /**
103  * 获取进入聊天室时间
104  * 对于离线成员该字段为空
105  * @return 进入聊天室时间
106  */
107  public long getEnterTime() {
108  return enterTime;
109  }
110 
111  /**
112  * 判断用户是否处于在线状态
113  * 仅特殊成员才可能离线,对游客/匿名用户而言只能是在线。
114  * @return 是否在线
115  */
116  public boolean isOnline() {
117  return isOnline;
118  }
119 
120  /**
121  * 判断用户是否在黑名单中
122  * @return 是否在黑名单中
123  */
124  public boolean isInBlackList() {
125  return inBlackList;
126  }
127 
128  /**
129  * 判断用户是否被禁言
130  * @return 是否被禁言
131  */
132  public boolean isMuted() {
133  return isMuted;
134  }
135 
136  /**
137  * 判断是否有效
138  * @return 是否有效
139  */
140  public boolean isValid() {
141  return isValid;
142  }
143 
144  /**
145  * 设置聊天室id
146  * @param roomId 聊天室id
147  */
148  public void setRoomId(String roomId) {
149  this.roomId = roomId;
150  }
151 
152  /**
153  * 设置用户帐号
154  * @param account 用户帐号
155  */
156  public void setAccount(String account) {
157  this.account = account;
158  }
159 
160  /**
161  * 设置成员类型
162  * @param type 成员类型
163  */
164  public void setMemberType(MemberType type) {
165  this.type = type;
166  }
167 
168  /**
169  * 设置成员等级
170  * @param memberLevel 成员等级
171  */
172  public void setMemberLevel(int memberLevel) {
173  this.memberLevel = memberLevel;
174  }
175 
176  /**
177  * 设置成员昵称
178  * @param nick 昵称
179  */
180  public void setNick(String nick) {
181  this.nick = nick;
182  }
183 
184  /**
185  * 设置成员头像
186  * @param avatar 头像
187  */
188  public void setAvatar(String avatar) {
189  this.avatar = avatar;
190  }
191 
192  /**
193  * 设置扩展字段
194  * @param extension 扩展字段
195  */
196  public void setExtension(Map<String, Object> extension) {
197  this.extension = extension;
198  this.extensionStr = MsgHelper.getJsonStringFromMap(extension);
199  }
200 
201  public String getExtensionStr() {
202  return extensionStr;
203  }
204 
205  public void setExtensionStr(String extensionStr) {
206  this.extensionStr = extensionStr;
207  this.extension = MsgHelper.getMapFromJsonString(extensionStr);
208  }
209 
210  /**
211  * 设置在线状态
212  * @param online 在线状态
213  */
214  public void setOnline(boolean online) {
215  this.isOnline = online;
216  }
217 
218  /**
219  * 设置进入聊天室时间
220  * @param enterTime 进入聊天室时间
221  */
222  public void setEnterTime(long enterTime) {
223  this.enterTime = enterTime;
224  }
225 
226  /**
227  * 设置是否在黑名单中
228  * @param inBlackList 是否设置为黑名单
229  */
230  public void setInBlackList(boolean inBlackList) {
231  this.inBlackList = inBlackList;
232  }
233 
234  /**
235  * 设置是否禁言
236  * @param muted 是否禁言
237  */
238  public void setMuted(boolean muted) {
239  this.isMuted = muted;
240  }
241 
242  /**
243  * 设置是否有效
244  * @param valid 是否有效
245  */
246  public void setValid(boolean valid) {
247  this.isValid = valid;
248  }
249 
250  /**
251  * 获取固定成员的记录更新时间,用于固定成员列表的排列查询
252  * @return 更新时间
253  */
254  public long getUpdateTime() {
255  return updateTime;
256  }
257 
258  /**
259  * 设置固定成员的更新时间
260  * @param updateTime 更新时间
261  */
262  public void setUpdateTime(long updateTime) {
263  this.updateTime = updateTime;
264  }
265 
266 
267  /**
268  * 判断用户是否被临时禁言
269  * @return 是否被临时禁言
270  */
271  public boolean isTempMuted() {
272  return isTempMuted;
273  }
274 
275  /**
276  * 设置是否临时禁言
277  * @param tempMuted 是否临时禁言
278  */
279  public void setTempMuted(boolean tempMuted) {
280  isTempMuted = tempMuted;
281  }
282 
283  /**
284  * 获取临时禁言解除时长,单位秒
285  * @return 临时禁言的解除时长,单位秒
286  */
287  public long getTempMuteDuration() {
288  return tempMuteDuration;
289  }
290 
291  /**
292  * 设置临时禁言解除时长。
293  * 若需要设置临时禁言,请使用{@link com.netease.nimlib.sdk.chatroom.ChatRoomService#markChatRoomTempMute(boolean, long, MemberOption)}
294  * @param tempMuteDuration 解除时长,单位秒
295  */
296  public void setTempMuteDuration(long tempMuteDuration) {
297  this.tempMuteDuration = tempMuteDuration;
298  }
299 
300  /**
301  * 查询用户标签
302  */
303  public String getTags() {
304  return tags;
305  }
306 
307  /**
308  * 设置用户标签
309  */
310  public void setTags(String tags) {
311  this.tags = tags;
312  }
313 
314  /**
315  * 查询通知目标标签
316  */
317  public String getNotifyTargetTags() {
318  return notifyTargetTags;
319  }
320 
321  /**
322  * 设置通知目标标签
323  */
324  public void setNotifyTargetTags(String notifyTargetTags) {
325  this.notifyTargetTags = notifyTargetTags;
326  }
327 
328  /**
329  * ********************************** 序列化 **********************************
330  */
331 
332  protected ChatRoomMember(Parcel in) {
333  roomId = in.readString();
334  account = in.readString();
335  type = MemberType.typeOfValue(in.readInt());
336  memberLevel = in.readInt();
337 
338  nick = in.readString();
339  avatar = in.readString();
340  setExtensionStr(in.readString());
341 
342  isOnline = in.readByte() == 0x01;
343  inBlackList = in.readByte() == 0x01;
344  isMuted = in.readByte() == 0x01;
345  isValid = in.readByte() == 0x01;
346  enterTime = in.readLong();
347  updateTime = in.readLong();
348  isTempMuted = in.readByte() == 0x01;
349  tempMuteDuration = in.readLong();
350  }
351 
352  @Override
353  public int describeContents() {
354  return 0;
355  }
356 
357  @Override
358  public void writeToParcel(Parcel dest, int flags) {
359  dest.writeString(roomId);
360  dest.writeString(account);
361  dest.writeInt(type.getValue());
362  dest.writeInt(memberLevel);
363 
364  dest.writeString(nick);
365  dest.writeString(avatar);
366  dest.writeString(getExtensionStr());
367 
368  dest.writeByte(isOnline ? (byte) 0x01 : 0x00);
369  dest.writeByte(inBlackList ? (byte) 0x01 : 0x00);
370  dest.writeByte(isMuted ? (byte) 0x01 : 0x00);
371  dest.writeByte(isValid ? (byte) 0x01 : 0x00);
372  dest.writeLong(enterTime);
373  dest.writeLong(updateTime);
374  dest.writeByte(isTempMuted ? (byte) 0x01 : 0x00);
375  dest.writeLong(tempMuteDuration);
376  }
377 
378  public static final Creator<ChatRoomMember> CREATOR = new Creator<ChatRoomMember>() {
379  @Override
380  public ChatRoomMember createFromParcel(Parcel in) {
381  return new ChatRoomMember(in);
382  }
383 
384  @Override
385  public ChatRoomMember[] newArray(int size) {
386  return new ChatRoomMember[size];
387  }
388  };
389 }
void setAccount(String account)
设置用户帐号
static final Creator< ChatRoomMember > CREATOR
MemberType getMemberType()
获取成员类型 成员类型:主要分为游客和非游客。 非游客又分成受限用户、普通用户、创建者、管理员; ...
void setMuted(boolean muted)
设置是否禁言
void setExtension(Map< String, Object > extension)
设置扩展字段
void setInBlackList(boolean inBlackList)
设置是否在黑名单中
void setNotifyTargetTags(String notifyTargetTags)
设置通知目标标签
boolean isMuted()
判断用户是否被禁言
long getTempMuteDuration()
获取临时禁言解除时长,单位秒
void setNick(String nick)
设置成员昵称
void setTempMuteDuration(long tempMuteDuration)
设置临时禁言解除时长。 若需要设置临时禁言,请使用com.netease.nimlib.sdk.chatroom.ChatRoomService#mark...
void setTags(String tags)
设置用户标签
void setOnline(boolean online)
设置在线状态
long getEnterTime()
获取进入聊天室时间 对于离线成员该字段为空
void setRoomId(String roomId)
设置聊天室id
int getMemberLevel()
获取成员级别 大于等于0表示用户开发者可以自定义的级别
String getAvatar()
获取头像 可从NimUserInfo中取avatar,可以由用户进聊天室时提交。
void setValid(boolean valid)
设置是否有效
void setEnterTime(long enterTime)
设置进入聊天室时间
void setMemberLevel(int memberLevel)
设置成员等级
boolean isTempMuted()
判断用户是否被临时禁言
String getNick()
获取昵称 可从NimUserInfo中取,也可以由用户进聊天室时提交。
boolean isOnline()
判断用户是否处于在线状态 仅特殊成员才可能离线,对游客/匿名用户而言只能是在线。
void setAvatar(String avatar)
设置成员头像
ChatRoomMember(Parcel in)
********************************** 序列化 **********************************
String getNotifyTargetTags()
查询通知目标标签
void setTempMuted(boolean tempMuted)
设置是否临时禁言
boolean isInBlackList()
判断用户是否在黑名单中
long getUpdateTime()
获取固定成员的记录更新时间,用于固定成员列表的排列查询
void setMemberType(MemberType type)
设置成员类型
void setUpdateTime(long updateTime)
设置固定成员的更新时间
Map< String, Object > getExtension()
获取扩展字段 长度限制4k,可以由用户进聊天室时提交。