NIMSDK-AOS  10.9.50
V2NIMChatroomLoginOption.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.v2.chatroom.option;
2 
7 
8 import java.io.Serializable;
9 
10 
11 /**
12  * 聊天室登录相关配置参数
13  */
14 public class V2NIMChatroomLoginOption implements Serializable {
15 
16  /**
17  * 认证模式,具体解释参见{@link V2NIMLoginAuthType}定义
18  */
19  private final V2NIMLoginAuthType authType;
20 
21  /**
22  * token提供回调
23  * authtype==1,客户侧动态token签算提供类
24  * authtype==0, 默认静态token
25  */
26  private final V2NIMChatroomTokenProvider tokenProvider;
27 
28  /**
29  * 在部分场景下,客户可能需要传输一些业务相关数据,则可采用该回调传输业务相关数据
30  */
31  private final V2NIMChatroomLoginExtensionProvider loginExtensionProvider;
32 
33  /// 登录抄送相关配置
34  private final V2NIMRouteConfig routeConfig;
35 
36  private V2NIMChatroomLoginOption() {
37  this(LOGIN_AUTH_TYPE_DEFAULT, null, null, null);
38  }
39 
40  /**
41  *
42  * @param authType 认证模式,具体解释参见{@link V2NIMLoginAuthType}定义
43  * @param tokenProvider token提供回调
44  * @param loginExtensionProvider 在部分场景下,客户可能需要传输一些业务相关数据,则可采用该回调传输业务相关数据
45  */
47  this.authType = authType;
48  this.tokenProvider = tokenProvider;
49  this.loginExtensionProvider = loginExtensionProvider;
50  this.routeConfig = routeConfig;
51  }
52 
53  /**
54  * 获取认证模式
55  * @return 认证模式
56  */
58  return authType;
59  }
60 
61  /**
62  * 获取token提供回调
63  * @return token提供回调
64  */
66  return tokenProvider;
67  }
68 
69  /**
70  * 获取登录扩展回调
71  * @return 登录扩展回调
72  */
74  return loginExtensionProvider;
75  }
76 
78  return routeConfig;
79  }
80 
81  @Override
82  public String toString() {
83  return "V2NIMChatroomLoginOption{" +
84  "authType=" + authType +
85  ", tokenProvider=" + tokenProvider +
86  ", loginExtensionProvider=" + loginExtensionProvider +
87  ", routeConfig=" + routeConfig +
88  '}';
89  }
90 
91  private static final V2NIMLoginAuthType LOGIN_AUTH_TYPE_DEFAULT = V2NIMLoginAuthType.V2NIM_LOGIN_AUTH_TYPE_DEFAULT;
92 
93  /**
94  * 聊天室登录相关配置参数构造器
95  */
96  public static final class V2NIMChatroomLoginOptionBuilder {
97 
98  /**
99  * 认证模式,默认为{@link V2NIMLoginAuthType#V2NIM_LOGIN_AUTH_TYPE_DEFAULT}
100  */
101  private V2NIMLoginAuthType authType = LOGIN_AUTH_TYPE_DEFAULT;
102  /**
103  * token提供回调
104  */
105  private V2NIMChatroomTokenProvider tokenProvider;
106  /**
107  * 登录扩展回调
108  */
109  private V2NIMChatroomLoginExtensionProvider loginExtensionProvider;
110 
111  private V2NIMRouteConfig routeConfig;
112 
113  private V2NIMChatroomLoginOptionBuilder() {
114  }
115 
116  /**
117  * 构建聊天室登录相关配置参数构造器
118  * @return
119  */
120  public static V2NIMChatroomLoginOptionBuilder builder() {
121  return new V2NIMChatroomLoginOptionBuilder();
122  }
123 
124  /**
125  * 设置认证模式
126  * @param authType 认证模式
127  * @return {@link V2NIMChatroomLoginOptionBuilder}
128  */
129  public V2NIMChatroomLoginOptionBuilder withAuthType(V2NIMLoginAuthType authType) {
130  this.authType = authType;
131  return this;
132  }
133  /**
134  * 设置token提供回调
135  * @param tokenProvider token提供回调
136  * @return {@link V2NIMChatroomLoginOptionBuilder}
137  */
138  public V2NIMChatroomLoginOptionBuilder withTokenProvider(V2NIMChatroomTokenProvider tokenProvider) {
139  this.tokenProvider = tokenProvider;
140  return this;
141  }
142  /**
143  * 设置登录扩展回调
144  * @param loginExtensionProvider 登录扩展回调
145  * @return {@link V2NIMChatroomLoginOptionBuilder}
146  */
147  public V2NIMChatroomLoginOptionBuilder withLoginExtensionProvider(V2NIMChatroomLoginExtensionProvider loginExtensionProvider) {
148  this.loginExtensionProvider = loginExtensionProvider;
149  return this;
150  }
151 
152 
153  public V2NIMChatroomLoginOptionBuilder withRouteConfig(V2NIMRouteConfig routeConfig) {
154  this.routeConfig = routeConfig;
155  return this;
156  }
157 
158  /**
159  * 构建聊天室登录相关配置参数
160  * @return {@link V2NIMChatroomLoginOption}
161  */
162  public V2NIMChatroomLoginOption build() {
163  return new V2NIMChatroomLoginOption(authType, tokenProvider, loginExtensionProvider, routeConfig);
164  }
165  }
166 }
V2NIMChatroomLoginOption(V2NIMLoginAuthType authType, V2NIMChatroomTokenProvider tokenProvider, V2NIMChatroomLoginExtensionProvider loginExtensionProvider, V2NIMRouteConfig routeConfig)
V2NIMChatroomTokenProvider getTokenProvider()
获取token提供回调
V2NIMChatroomLoginExtensionProvider getLoginExtensionProvider()
获取登录扩展回调