NIMSDK-AOS  10.6.0
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 
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 
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 
44  public String getRoomId() {
45  return roomId;
46  }
47 
52  public String getAccount() {
53  return account;
54  }
55 
63  return type;
64  }
65 
71  public int getMemberLevel() {
72  return memberLevel;
73  }
74 
80  public String getNick() {
81  return nick;
82  }
83 
89  public String getAvatar() {
90  return avatar;
91  }
92 
98  public Map<String, Object> getExtension() {
99  return extension;
100  }
101 
107  public long getEnterTime() {
108  return enterTime;
109  }
110 
116  public boolean isOnline() {
117  return isOnline;
118  }
119 
124  public boolean isInBlackList() {
125  return inBlackList;
126  }
127 
132  public boolean isMuted() {
133  return isMuted;
134  }
135 
140  public boolean isValid() {
141  return isValid;
142  }
143 
148  public void setRoomId(String roomId) {
149  this.roomId = roomId;
150  }
151 
156  public void setAccount(String account) {
157  this.account = account;
158  }
159 
164  public void setMemberType(MemberType type) {
165  this.type = type;
166  }
167 
172  public void setMemberLevel(int memberLevel) {
173  this.memberLevel = memberLevel;
174  }
175 
180  public void setNick(String nick) {
181  this.nick = nick;
182  }
183 
188  public void setAvatar(String avatar) {
189  this.avatar = avatar;
190  }
191 
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 
214  public void setOnline(boolean online) {
215  this.isOnline = online;
216  }
217 
222  public void setEnterTime(long enterTime) {
223  this.enterTime = enterTime;
224  }
225 
230  public void setInBlackList(boolean inBlackList) {
231  this.inBlackList = inBlackList;
232  }
233 
238  public void setMuted(boolean muted) {
239  this.isMuted = muted;
240  }
241 
246  public void setValid(boolean valid) {
247  this.isValid = valid;
248  }
249 
254  public long getUpdateTime() {
255  return updateTime;
256  }
257 
262  public void setUpdateTime(long updateTime) {
263  this.updateTime = updateTime;
264  }
265 
266 
271  public boolean isTempMuted() {
272  return isTempMuted;
273  }
274 
279  public void setTempMuted(boolean tempMuted) {
280  isTempMuted = tempMuted;
281  }
282 
287  public long getTempMuteDuration() {
288  return tempMuteDuration;
289  }
290 
296  public void setTempMuteDuration(long tempMuteDuration) {
297  this.tempMuteDuration = tempMuteDuration;
298  }
299 
303  public String getTags() {
304  return tags;
305  }
306 
310  public void setTags(String tags) {
311  this.tags = tags;
312  }
313 
317  public String getNotifyTargetTags() {
318  return notifyTargetTags;
319  }
320 
324  public void setNotifyTargetTags(String notifyTargetTags) {
325  this.notifyTargetTags = notifyTargetTags;
326  }
327 
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,可以由用户进聊天室时提交。