public class ClientExtendTools extends java.lang.Object
| 限定符和类型 | 类和说明 |
|---|---|
static interface |
ClientExtendTools.ParameterSupplier<T> |
| 限定符和类型 | 字段和说明 |
|---|---|
com.google.common.base.Predicate<java.lang.String> |
ackChannelValidator
设备命令响应通道验证器
|
com.google.common.base.Predicate<java.lang.Integer> |
cmdSnValidator
设备命令序列号验证器
|
com.google.common.base.Function<java.lang.Integer,java.lang.Integer> |
deviceGroupIdGetter
根据设备ID返回设备所属的设备组ID的
Function实例,
设备ID无效则返回null |
com.google.common.base.Predicate<Token> |
deviceTokenValidator
设备令牌验证器
|
com.google.common.base.Function<java.lang.Integer,java.util.List<java.lang.Integer>> |
personGroupBelonsGetter
根据人员ID返回人员所属的所有组ID的
Function实例
如果人员ID无效则返回空表 |
com.google.common.base.Predicate<Token> |
personTokenValidator
人员令牌验证器
|
com.google.common.base.Predicate<Token> |
rootTokenValidator
root令牌验证器
|
com.google.common.base.Function<Token,java.lang.Integer> |
tokenRank
返回令牌的管理等级,输入为
null或设备令牌返回-1
4---root
3---管理员
2---操作员
0---普通用户
-1---未定义 |
| 限定符和类型 | 方法和说明 |
|---|---|
ClientExtendTools |
addServiceEventListener(ServiceHeartbeatListener listener) |
com.google.common.base.Supplier<java.lang.String> |
getAckChannelSupplier(int duration,
Token token)
返回一个申请命令响应通道的
Supplier实例 |
com.google.common.base.Supplier<java.lang.String> |
getAckChannelSupplier(Token token)
返回一个申请命令响应通道的
Supplier实例 |
com.google.common.base.Supplier<java.lang.String> |
getCmdChannelSupplier(Token token)
返回一个获取设备命令通道名的
Supplier实例 |
com.google.common.base.Supplier<java.lang.Integer> |
getCmdSnSupplier(Token token)
返回一个申请命令序号的
Supplier实例 |
com.google.common.base.Supplier<java.lang.Integer> |
getDeviceGroupIdSupplier(int deviceId)
根据设备ID返回一个获取设备组ID的
Supplier实例 |
com.google.common.base.Supplier<java.lang.String> |
getDynamicParamSupplier(MQParam mqParam,
Token token) |
com.google.common.base.Supplier<java.util.Map<java.lang.String,java.lang.String>> |
getFaceApiParametersSupplier(Token token) |
net.gdface.thrift.ClientFactory |
getFactory() |
com.google.common.base.Supplier<java.util.Map<MQParam,java.lang.String>> |
getMessageQueueParametersSupplier(Token token) |
com.google.common.base.Supplier<java.util.List<java.lang.Integer>> |
getPersonGroupBelonsSupplier(int personId)
根据人员ID返回一个获取所属组ID列表的
Supplier实例 |
com.google.common.base.Supplier<java.util.Map<MQParam,java.lang.String>> |
getRedisParametersSupplier(Token token) |
ClientExtendTools.ParameterSupplier<java.lang.String> |
getSdkTaskQueueSupplier(java.lang.String task,
java.lang.String sdkVersion,
Token token) |
ClientExtendTools.ParameterSupplier<java.lang.String> |
getTaskQueueSupplier(java.lang.String task,
Token token) |
com.google.common.base.Supplier<Token> |
getTokenSupplier()
返回有效令牌的
Supplier实例 |
DtalkEngineForFacelog |
initDtalkEngine(Token deviceToken,
gu.dtalk.MenuItem rootMenu)
创建dtalk引擎
|
void |
initMQDefaultFactory(Token token)
从facelog获取消息系统参数,初始化消息系统的默认实例
该方法只能在应用启动时调用一次 |
com.google.common.net.HostAndPort |
insteadHostIfLocalhost(com.google.common.net.HostAndPort host)
如果
host是本机地址则用facelog服务主机名替换 |
java.lang.String |
insteadHostIfLocalhost(java.lang.String host)
如果
host是本机地址则用facelog服务主机名替换 |
java.net.URI |
insteadHostIfLocalhost(java.net.URI uri)
如果
uri的主机名是本机地址则用facelog服务主机名替换 |
java.net.URL |
insteadHostIfLocalhost(java.net.URL url)
如果
url的主机名是本机地址则用facelog服务主机名替换 |
java.lang.String |
insteadHostJsonIfLocalhost(java.lang.String json)
如果
json中的值为URI,且主机名是本机地址则用facelog服务主机名替换 |
java.util.Map<MQParam,java.lang.String> |
insteadHostOfMQParamIfLocalhost(java.util.Map<MQParam,java.lang.String> parameters)
如果
parameters的参数(MQParam.REDIS_URI,MQParam.WEBREDIS_URL,
或MQParam.MQ_CONNECT (JSON)中的值)是本机地址则用facelog服务主机名替换 |
java.lang.String |
insteadHostOfURIIfLocalhost(java.lang.String uri)
如果
uri的主机名是本机地址则用facelog服务主机名替换 |
java.lang.String |
insteadHostOfURLIfLocalhost(java.lang.String url)
如果
url的主机名是本机地址则用facelog服务主机名替换 |
java.util.Map<java.lang.String,java.lang.String> |
insteadHostOfValueIfLocalhost(java.util.Map<java.lang.String,java.lang.String> parameters)
如果
parameters的值(host:port格式)是本机地址则用facelog服务主机名替换 |
gu.dtalk.engine.CmdDispatcher |
makeCmdDispatcher(Token token)
(设备端)创建设备多目标命令分发器
|
gu.dtalk.cmd.CmdManager |
makeCmdManager(Token token)
(管理端)创建
CmdManager实例 |
<T> DynamicChannelListener<T> |
makeDynamicChannelListener(gu.simplemq.IMessageAdapter<T> listener,
java.lang.Class<T> channelType,
MQParam mqParam,
Token token,
gu.simplemq.IMessageQueueFactory factory)
创建动态频道名侦听对象
动态频道是指定当服务重启后,频道名会动态改变的频道,
对于这种频道,通过侦听服务心跳判断服务是否重启,如果重启则重新获取频道名继续保持侦听
|
DeviceHeartbeat |
makeHeartbeat(int deviceID,
Token token)
创建设备心跳包发送对象
DeviceHeartbeat为单实例,该方法只能调用一次 |
gu.dtalk.engine.TaskDispatcher |
makeTaskDispatcher(Token token,
com.google.common.base.Supplier<java.lang.String> taskQueueSupplier)
(设备端)创建设备任务分发器
|
gu.dtalk.cmd.TaskManager |
makeTaskManager(Token token,
java.lang.String cmdpath,
com.google.common.base.Supplier<java.lang.String> taskQueueSupplier)
(管理端)创建
TaskManager实例 |
Token |
refreshToken(TokenHelper helper,
Token token)
令牌刷新
|
ClientExtendTools |
removeServiceEventListener(ServiceHeartbeatListener listener) |
ClientExtendTools |
setTokenHelper(TokenHelper tokenHelper) |
ClientExtendTools |
startServiceHeartbeatListener(Token token,
boolean initMQDefaultFactoryInstance)
启动服务心跳侦听器
启动侦听器后CLIENT端才能感知服务端断线,并执行相应动作。 |
public final com.google.common.base.Function<java.lang.Integer,java.lang.Integer> deviceGroupIdGetter
Function实例,
设备ID无效则返回nullpublic final com.google.common.base.Function<java.lang.Integer,java.util.List<java.lang.Integer>> personGroupBelonsGetter
Function实例
如果人员ID无效则返回空表public final com.google.common.base.Predicate<java.lang.Integer> cmdSnValidator
public final com.google.common.base.Predicate<java.lang.String> ackChannelValidator
public final com.google.common.base.Predicate<Token> deviceTokenValidator
public final com.google.common.base.Predicate<Token> personTokenValidator
public final com.google.common.base.Predicate<Token> rootTokenValidator
public java.lang.String insteadHostIfLocalhost(java.lang.String host)
host是本机地址则用facelog服务主机名替换host - host or host in factorypublic com.google.common.net.HostAndPort insteadHostIfLocalhost(com.google.common.net.HostAndPort host)
host是本机地址则用facelog服务主机名替换host - host or host in factorypublic java.net.URI insteadHostIfLocalhost(java.net.URI uri)
uri的主机名是本机地址则用facelog服务主机名替换uri - uri or new URI instead with host of facelogpublic java.net.URL insteadHostIfLocalhost(java.net.URL url)
url的主机名是本机地址则用facelog服务主机名替换url - url or new URI instead with host of facelogpublic java.lang.String insteadHostJsonIfLocalhost(java.lang.String json)
json中的值为URI,且主机名是本机地址则用facelog服务主机名替换json - json or new json string instead with host of facelogpublic java.lang.String insteadHostOfURIIfLocalhost(java.lang.String uri)
uri的主机名是本机地址则用facelog服务主机名替换uri - uri or new URI string instead with host of facelogpublic java.lang.String insteadHostOfURLIfLocalhost(java.lang.String url)
url的主机名是本机地址则用facelog服务主机名替换url - url or new URL string instead with host of facelogpublic java.util.Map<MQParam,java.lang.String> insteadHostOfMQParamIfLocalhost(java.util.Map<MQParam,java.lang.String> parameters)
parameters的参数(MQParam.REDIS_URI,MQParam.WEBREDIS_URL,
或MQParam.MQ_CONNECT (JSON)中的值)是本机地址则用facelog服务主机名替换parameters - HashMappublic java.util.Map<java.lang.String,java.lang.String> insteadHostOfValueIfLocalhost(java.util.Map<java.lang.String,java.lang.String> parameters)
parameters的值(host:port格式)是本机地址则用facelog服务主机名替换parameters - HashMapinsteadHostIfLocalhost(HostAndPort)public com.google.common.base.Supplier<java.lang.Integer> getDeviceGroupIdSupplier(int deviceId)
Supplier实例deviceId - deviceId无效则返回nulldeviceGroupIdGetterpublic com.google.common.base.Supplier<java.util.List<java.lang.Integer>> getPersonGroupBelonsSupplier(int personId)
Supplier实例personId - personId无效则返回空表personGroupBelonsGetterpublic gu.dtalk.cmd.CmdManager makeCmdManager(Token token)
CmdManager实例token - 访问令牌(person Token or root Token)CmdManager实例public gu.dtalk.cmd.TaskManager makeTaskManager(Token token, java.lang.String cmdpath, com.google.common.base.Supplier<java.lang.String> taskQueueSupplier)
TaskManager实例token - 访问令牌(person Token or root Token)cmdpath - 设备(菜单)命令路径taskQueueSupplier - 任务队列TaskManager实例public gu.dtalk.engine.CmdDispatcher makeCmdDispatcher(Token token)
token - 设备令牌CmdDispatcher实例public gu.dtalk.engine.TaskDispatcher makeTaskDispatcher(Token token, com.google.common.base.Supplier<java.lang.String> taskQueueSupplier)
token - 设备令牌taskQueueSupplier - 任务队列名,创建的分发器对象注册到任务队列,可为nullTaskDispatcher实例public com.google.common.base.Supplier<java.lang.String> getAckChannelSupplier(int duration, Token token)
Supplier实例duration - 命令通道有效时间(秒) 大于0有效,否则使用默认的有效期token - 访问令牌Supplier实例public com.google.common.base.Supplier<java.lang.String> getAckChannelSupplier(Token token)
Supplier实例token - 访问令牌Supplier实例public com.google.common.base.Supplier<java.lang.Integer> getCmdSnSupplier(Token token)
Supplier实例token - Supplier实例public com.google.common.base.Supplier<java.lang.String> getCmdChannelSupplier(Token token)
Supplier实例token - Supplier实例public com.google.common.base.Supplier<java.util.Map<MQParam,java.lang.String>> getRedisParametersSupplier(Token token)
token - 调用 getRedisParametersLazy(Token)所需要的令牌Supplier实例public com.google.common.base.Supplier<java.util.Map<MQParam,java.lang.String>> getMessageQueueParametersSupplier(Token token)
token - 调用 getMessageQueueParametersLazy(Token)所需要的令牌Supplier实例public com.google.common.base.Supplier<java.util.Map<java.lang.String,java.lang.String>> getFaceApiParametersSupplier(Token token)
token - 调用 getFaceApiParametersLazy(Token)所需要的令牌Supplier实例public com.google.common.base.Supplier<java.lang.String> getDynamicParamSupplier(MQParam mqParam, Token token)
mqParam - token - 调用 getRedisParametersLazy(Token)所需要的令牌Supplier实例public DtalkEngineForFacelog initDtalkEngine(Token deviceToken, gu.dtalk.MenuItem rootMenu)
deviceToken - 设备令牌,不可为nullrootMenu - 包括所有菜单的根菜单对象,不可为nullDtalkEngineForFacelog实例public void initMQDefaultFactory(Token token)
token - public Token refreshToken(TokenHelper helper, Token token)
helper - token - nullpublic com.google.common.base.Supplier<Token> getTokenSupplier()
Supplier实例Supplier实例public ClientExtendTools addServiceEventListener(ServiceHeartbeatListener listener)
public ClientExtendTools removeServiceEventListener(ServiceHeartbeatListener listener)
public <T> DynamicChannelListener<T> makeDynamicChannelListener(gu.simplemq.IMessageAdapter<T> listener, java.lang.Class<T> channelType, MQParam mqParam, Token token, gu.simplemq.IMessageQueueFactory factory)
listener - channelType - 频道消息数据类型mqParam - 参数名token - factory - 消息系统工厂类实例DynamicChannelListener实例public DeviceHeartbeat makeHeartbeat(int deviceID, Token token)
DeviceHeartbeat为单实例,该方法只能调用一次deviceID - 设备IDtoken - 设备令牌DeviceHeartbeat实例public ClientExtendTools setTokenHelper(TokenHelper tokenHelper)
tokenHelper - 要设置的 tokenHelperClientExtendTools实例public ClientExtendTools startServiceHeartbeatListener(Token token, boolean initMQDefaultFactoryInstance)
setTokenHelper(TokenHelper)初始化token - 令牌initMQDefaultFactoryInstance - 是否初始化 IMessageQueueFactory默认实例ClientExtendTools实例public ClientExtendTools.ParameterSupplier<java.lang.String> getTaskQueueSupplier(java.lang.String task, Token token)
public ClientExtendTools.ParameterSupplier<java.lang.String> getSdkTaskQueueSupplier(java.lang.String task, java.lang.String sdkVersion, Token token)
public net.gdface.thrift.ClientFactory getFactory()
Copyright © 2020. All Rights Reserved.