NIMSDK-AOS  9.21.15
NIMMessageRouteConfig.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.msg.config;
2 
3 import java.io.Serializable;
4 
5 /**
6  * NIMMessageRouteConfig类
7  * <p>
8  * 该类用于配置消息路由。它实现了Serializable接口,可以被序列化。
9  */
10 public class NIMMessageRouteConfig implements Serializable {
11 
12  /**
13  * 是否需要路由消息。(抄送)
14  */
15  private final boolean routeEnabled;
16  /**
17  * 环境变量,用于指向不同的抄送,第三方回调等配置
18  */
19  private final String routeEnvironment;
20 
21  /**
22  * 私有构造函数
23  * 使用默认的路由启用设置和null环境变量创建实例
24  */
25  private NIMMessageRouteConfig() {
26  this(DEFAULT_ROUTE_ENABLE, null);
27  }
28 
29  /**
30  * 私有构造函数
31  *
32  * @param routeEnabled 是否启用路由
33  * @param routeEnvironment 路由环境变量
34  */
35  private NIMMessageRouteConfig(boolean routeEnabled, String routeEnvironment) {
36  this.routeEnabled = routeEnabled;
37  this.routeEnvironment = routeEnvironment;
38  }
39 
40  /**
41  * 获取路由是否启用
42  *
43  * @return 路由是否启用
44  */
45  public boolean isRouteEnabled() {
46  return routeEnabled;
47  }
48 
49  /**
50  * 获取路由环境变量
51  *
52  * @return 路由环境变量
53  */
54  public String getRouteEnvironment() {
55  return routeEnvironment;
56  }
57 
58  /**
59  * 重写toString方法
60  *
61  * @return 包含对象信息的字符串
62  */
63  @Override
64  public String toString() {
65  return "NIMMessageRouteConfig{" + "routeEnabled=" + routeEnabled + ", routeEnvironment='" + routeEnvironment + '\'' + '}';
66  }
67 
68  /**
69  * 默认路由启用设置
70  */
71  public static final boolean DEFAULT_ROUTE_ENABLE = true;
72 
73  /**
74  * NIMMessageRouteConfigBuilder内部类
75  * 用于构建NIMMessageRouteConfig实例
76  */
77  public static final class NIMMessageRouteConfigBuilder {
78 
79  private boolean routeEnabled = DEFAULT_ROUTE_ENABLE;
80  private String routeEnvironment;
81 
82  private NIMMessageRouteConfigBuilder() {
83  }
84 
85  /**
86  * 创建NIMMessageRouteConfigBuilder实例
87  *
88  * @return NIMMessageRouteConfigBuilder实例
89  */
90  public static NIMMessageRouteConfigBuilder builder() {
91  return new NIMMessageRouteConfigBuilder();
92  }
93 
94  /**
95  * 设置是否启用路由
96  *
97  * @param routeEnabled 是否启用路由
98  *
99  * @return 当前NIMMessageRouteConfigBuilder实例
100  */
101  public NIMMessageRouteConfigBuilder withRouteEnabled(boolean routeEnabled) {
102  this.routeEnabled = routeEnabled;
103  return this;
104  }
105 
106  /**
107  * 设置路由环境变量
108  *
109  * @param routeEnvironment 路由环境变量
110  *
111  * @return 当前NIMMessageRouteConfigBuilder实例
112  */
113  public NIMMessageRouteConfigBuilder withRouteEnvironment(String routeEnvironment) {
114  this.routeEnvironment = routeEnvironment;
115  return this;
116  }
117 
118  /**
119  * 构建NIMMessageRouteConfig实例
120  *
121  * @return 新的NIMMessageRouteConfig实例
122  */
123  public NIMMessageRouteConfig build() {
124  return new NIMMessageRouteConfig(routeEnabled, routeEnvironment);
125  }
126  }
127 }
static final boolean DEFAULT_ROUTE_ENABLE
默认路由启用设置