NIMSDK-AOS  9.19.0
UpdateTeamAttachment.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.team.model;
2 
11 import com.netease.nimlib.util.JSONHelper;
12 
13 import org.json.JSONObject;
14 
15 import java.util.HashMap;
16 import java.util.Map;
17 
18 /**
19  * 更新群资料的通知消息实体。
20  */
22 
23  private HashMap<TeamFieldEnum, Object> updatedFields = new HashMap<>(1);
24 
25  @Override
26  final public void parse(JSONObject json) {
27  super.parse(json);
28 
29  JSONObject tinfo = JSONHelper.getJSONObject(json, "tinfo");
30  if (tinfo == null) {
31  return;
32  }
33 
34  for (TeamFieldEnum e : TeamFieldEnum.values()) {
35  String key = String.valueOf(e.getValue());
36  if (tinfo.has(key)) {
37  Object value = null;
38  if (e.getFieldType() == String.class) {
39  value = JSONHelper.getString(tinfo, key);
40  } else if (e.getFieldType() == VerifyTypeEnum.class) {
41  value = VerifyTypeEnum.typeOfValue(JSONHelper.getInt(tinfo, key));
42  } else if (e.getFieldType() == TeamBeInviteModeEnum.class) {
43  value = TeamBeInviteModeEnum.typeOfValue(JSONHelper.getInt(tinfo, key));
44  } else if (e.getFieldType() == TeamInviteModeEnum.class) {
45  value = TeamInviteModeEnum.typeOfValue(JSONHelper.getInt(tinfo, key));
46  } else if (e.getFieldType() == TeamUpdateModeEnum.class) {
47  value = TeamUpdateModeEnum.typeOfValue(JSONHelper.getInt(tinfo, key));
48  } else if (e.getFieldType() == TeamExtensionUpdateModeEnum.class) {
49  value = TeamExtensionUpdateModeEnum.typeOfValue(JSONHelper.getInt(tinfo, key));
50  } else if (e.getFieldType() == Integer.class) {
51  value = JSONHelper.getInt(tinfo, key);
52  } else if (e.getFieldType() == TeamAllMuteModeEnum.class) {
53  value = TeamAllMuteModeEnum.typeOfValue(JSONHelper.getInt(tinfo, key));
54  }
55  updatedFields.put(e, value);
56  }
57  }
58  }
59 
60  /**
61  * 获取被更新的第一个字段的值。类型根据{@link #getValue()}返回不同而不同。<br>
62  * 用于兼容老版本接口以及客户端一次只会更新一个字段的情况。<br>
63  * 详见{@link com.netease.nimlib.sdk.team.constant.TeamFieldEnum#getFieldType()}
64  *
65  * @return
66  */
67  public Object getValue() {
68  return updatedFields.size() > 0 ? updatedFields.entrySet().iterator().next().getValue() : null;
69  }
70 
71  /**
72  * 获取被更新的群资料字段。<br>
73  * 用于兼容老版本接口以及客户端一次只会更新一个字段的情况。<br>
74  *
75  * @return 字段名
76  */
78  return updatedFields.size() > 0 ? updatedFields.entrySet().iterator().next().getKey() : null;
79  }
80 
81  /**
82  * 获取被更新的所有字段的信息。
83  *
84  * @return 被更新的字段
85  */
86  public Map<TeamFieldEnum, Object> getUpdatedFields() {
87  return updatedFields;
88  }
89 }
创建群、修改群资料时的域定义
Object getValue()
获取被更新的第一个字段的值。类型根据getValue()返回不同而不同。 用于兼容老版本接口以及客户端一次只会...
群资料修改模式:谁可以修改群资料 只有群主、管理员可以修改该模式
申请加入群组时的验证类型
Map< TeamFieldEnum, Object > getUpdatedFields()
获取被更新的所有字段的信息。
群资料扩展字段修改模式:谁可以修改群自定义属性(扩展字段) 只有群主、管理员可以修改该模式 ...
TeamFieldEnum getField()
获取被更新的群资料字段。 用于兼容老版本接口以及客户端一次只会更新一个字段的情况。 ...
群被邀请模式:被邀请人的同意方式 只有群主、管理员可以修改该模式
群邀请模式:谁可以邀请他人入群 只有群主、管理员可以修改该模式