NIMSDK-AOS  10.10.13
V2NIMTeamSearchParams.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.v2.team.params;
2 
6 import com.netease.nimlib.util.CollectionUtil;
7 
8 import java.util.Collections;
9 import java.util.List;
10 
11 public class V2NIMTeamSearchParams {
12 
13  // 最多支持 5 个。必须设置关键字列表;
14  // null 和size==0 都表示为空, 返回参数错误
15  private List<String> keywordList;
16 
17  // 指定关键字列表匹配类型
18  // 可设置为 “或” 关系搜索,或 “与” 关系搜索。取值分别为 V2NIM_SEARCH_KEYWORD_MATH_TYPE_OR 和 V2NIM_SEARCH_KEYWORD_MATH_TYPE_AND。默认为 “或” 关系搜索。
19  // 关键字列表为空或为数量为1, 该字段无效
21 
22  // 如果为null,或者列表为empty, 表示检索所有所有群类型
23  // 否则按输入群类型进行查询
24  // 只支持定义的type类型, 如果不在范围内, 返回参数错误
25  private List<V2NIMTeamType> teamTypes;
26 
27  // 单次检索返回的数量。 默认20。本地可以设置INT.MAXVALUE, 返回所有检索结果
28  // 必须为正数, 云端检索不建议超过100, 小于等于0, 返回参数错误
29  // 该参数仅服务器有效
30  private int limit = V2NIMMessageSearchExParams.LIMIT_DEFAULT;
31 
32  // 起始位置,首次传“”, 后续传上次返回的nextToken
33  // 该参数仅服务器有效
34  private String nextToken;
35 
36  public List<String> getKeywordList() {
37  return keywordList;
38  }
39 
40  public void setKeywordList(List<String> keywordList) {
41  this.keywordList = keywordList;
42  }
43 
45  return keywordMatchType;
46  }
47 
48  public void setKeywordMatchType(V2NIMSearchKeywordMathType keywordMatchType) {
49  this.keywordMatchType = keywordMatchType;
50  }
51 
52  public List<V2NIMTeamType> getTeamTypes() {
53  return teamTypes;
54  }
55 
56  public void setTeamTypes(List<V2NIMTeamType> teamTypes) {
57  this.teamTypes = teamTypes;
58  }
59 
60  public int getLimit() {
61  return limit;
62  }
63 
64  public void setLimit(int limit) {
65  this.limit = limit;
66  }
67 
68  public String getNextToken() {
69  return nextToken;
70  }
71 
72  public void setNextToken(String nextToken) {
73  this.nextToken = nextToken;
74  }
75 
76  /**
77  * 验证参数有效性
78  *
79  * @return true表示参数有效,false表示参数无效
80  */
81  public String isValidWithErrorMsg() {
82  if (keywordMatchType == null) {
83  return "keywordMatchType is null";
84  }
85 
86  if (!CollectionUtil.isEmpty(teamTypes)) {
87  for (V2NIMTeamType teamType : teamTypes) {
88  if (teamType == null) {
89  return "teamType is null: " + CollectionUtil.toStringSafe(teamTypes);
90  }
91  }
92  }
93 
94  // 关键字列表不能为空
95  if (keywordList == null || keywordList.isEmpty()) {
96  return "keywordList is null or empty";
97  }
98 
99  // 关键字列表最多5个
100  if (keywordList.size() > 5) {
101  return "keywordList size > 5";
102  }
103 
104  return null;
105  }
106 }
void setKeywordMatchType(V2NIMSearchKeywordMathType keywordMatchType)