NIMSDK-AOS  9.16.0
ChatRoomMember.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.chatroom.model;
2 
3 import android.os.Parcel;
4 import android.os.Parcelable;
5 
7 import com.netease.nimlib.session.MsgHelper;
8 
9 import java.io.Serializable;
10 import java.util.Map;
11 
15 public class ChatRoomMember implements Serializable,Parcelable {
16  private String roomId; // 聊天室id
17  private String account; // 成员账号
18  private MemberType type; // 成员类型:主要分为游客和非游客,非游客又分成受限用户、普通用户、创建者、管理员;
19  private int memberLevel; // 成员级别:大于等于0表示用户开发者可以自定义的级别
20 
22  private String nick; // 聊天室内的昵称字段,预留字段,可从NimUserInfo中取,也可以由用户进聊天室时提交。
23  private String avatar; // 聊天室内的头像,预留字段,可从NimUserInfo中取avatar,可以由用户进聊天室时提交。
24  private Map<String, Object> extension; // 开发者扩展字段,长度限制4k,可以由用户进聊天室时提交。
25 
26  // 仅成员在线时有效
27  private boolean isOnline; // 成员是否处于在线状态,仅特殊成员才可能离线,对游客/匿名用户而言只能是在线。
28  private boolean inBlackList;// 是否在黑名单中
29  private boolean isMuted; // 是禁言用户
30  private boolean isValid; // 记录有效标记为
31  private long enterTime; // 进入聊天室的时间点,对于离线成员该字段为空
32  private long updateTime; // 固定成员的记录更新时间,用于固定成员列表的排列查询
33  private boolean isTempMuted; // 是否临时禁言
34  private long tempMuteDuration; // 临时禁言的解除时长,单位秒
35  private String tags; // 用户标签
36  private String notifyTargetTags;// 通知目标标签
37 
38  public ChatRoomMember() {
39  }
40 
45  public String getRoomId() {
46  return roomId;
47  }
48 
53  public String getAccount() {
54  return account;
55  }
56 
64  return type;
65  }
66 
72  public int getMemberLevel() {
73  return memberLevel;
74  }
75 
81  public String getNick() {
82  return nick;
83  }
84 
90  public String getAvatar() {
91  return avatar;
92  }
93 
99  public Map<String, Object> getExtension() {
100  return extension;
101  }
102 
108  public long getEnterTime() {
109  return enterTime;
110  }
111 
117  public boolean isOnline() {
118  return isOnline;
119  }
120 
125  public boolean isInBlackList() {
126  return inBlackList;
127  }
128 
133  public boolean isMuted() {
134  return isMuted;
135  }
136 
141  public boolean isValid() {
142  return isValid;
143  }
144 
149  public void setRoomId(String roomId) {
150  this.roomId = roomId;
151  }
152 
157  public void setAccount(String account) {
158  this.account = account;
159  }
160 
165  public void setMemberType(MemberType type) {
166  this.type = type;
167  }
168 
173  public void setMemberLevel(int memberLevel) {
174  this.memberLevel = memberLevel;
175  }
176 
181  public void setNick(String nick) {
182  this.nick = nick;
183  }
184 
189  public void setAvatar(String avatar) {
190  this.avatar = avatar;
191  }
192 
197  public void setExtension(Map<String, Object> extension) {
198  this.extension = extension;
199  }
200 
205  public void setOnline(boolean online) {
206  this.isOnline = online;
207  }
208 
213  public void setEnterTime(long enterTime) {
214  this.enterTime = enterTime;
215  }
216 
221  public void setInBlackList(boolean inBlackList) {
222  this.inBlackList = inBlackList;
223  }
224 
229  public void setMuted(boolean muted) {
230  this.isMuted = muted;
231  }
232 
237  public void setValid(boolean valid) {
238  this.isValid = valid;
239  }
240 
245  public long getUpdateTime() {
246  return updateTime;
247  }
248 
253  public void setUpdateTime(long updateTime) {
254  this.updateTime = updateTime;
255  }
256 
257 
262  public boolean isTempMuted() {
263  return isTempMuted;
264  }
265 
270  public void setTempMuted(boolean tempMuted) {
271  isTempMuted = tempMuted;
272  }
273 
278  public long getTempMuteDuration() {
279  return tempMuteDuration;
280  }
281 
287  public void setTempMuteDuration(long tempMuteDuration) {
288  this.tempMuteDuration = tempMuteDuration;
289  }
290 
294  public String getTags() {
295  return tags;
296  }
297 
301  public void setTags(String tags) {
302  this.tags = tags;
303  }
304 
308  public String getNotifyTargetTags() {
309  return notifyTargetTags;
310  }
311 
315  public void setNotifyTargetTags(String notifyTargetTags) {
316  this.notifyTargetTags = notifyTargetTags;
317  }
318 
323  protected ChatRoomMember(Parcel in) {
324  roomId = in.readString();
325  account = in.readString();
326  type = MemberType.typeOfValue(in.readInt());
327  memberLevel = in.readInt();
328 
329  nick = in.readString();
330  avatar = in.readString();
331  setExtension(MsgHelper.getMapFromJsonString(in.readString()));
332 
333  isOnline = in.readByte() == 0x01;
334  inBlackList = in.readByte() == 0x01;
335  isMuted = in.readByte() == 0x01;
336  isValid = in.readByte() == 0x01;
337  enterTime = in.readLong();
338  updateTime = in.readLong();
339  isTempMuted = in.readByte() == 0x01;
340  tempMuteDuration = in.readLong();
341  }
342 
343  @Override
344  public int describeContents() {
345  return 0;
346  }
347 
348  @Override
349  public void writeToParcel(Parcel dest, int flags) {
350  dest.writeString(roomId);
351  dest.writeString(account);
352  dest.writeInt(type.getValue());
353  dest.writeInt(memberLevel);
354 
355  dest.writeString(nick);
356  dest.writeString(avatar);
357  dest.writeString(MsgHelper.getJsonStringFromMap(getExtension()));
358 
359  dest.writeByte(isOnline ? (byte) 0x01 : 0x00);
360  dest.writeByte(inBlackList ? (byte) 0x01 : 0x00);
361  dest.writeByte(isMuted ? (byte) 0x01 : 0x00);
362  dest.writeByte(isValid ? (byte) 0x01 : 0x00);
363  dest.writeLong(enterTime);
364  dest.writeLong(updateTime);
365  dest.writeByte(isTempMuted ? (byte) 0x01 : 0x00);
366  dest.writeLong(tempMuteDuration);
367  }
368 
369  public static final Creator<ChatRoomMember> CREATOR = new Creator<ChatRoomMember>() {
370  @Override
371  public ChatRoomMember createFromParcel(Parcel in) {
372  return new ChatRoomMember(in);
373  }
374 
375  @Override
376  public ChatRoomMember[] newArray(int size) {
377  return new ChatRoomMember[size];
378  }
379  };
380 }
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,可以由用户进聊天室时提交。