Class PlatformResult<T>
java.lang.Object
io.github.theword.queqiao.core.platform.PlatformResult<T>
- Type Parameters:
T- 成功时的数据类型;无数据时用Void
平台操作的统一结果
把"平台侧发生了什么"用一种不依赖协议层的方式表达出来:
PlatformContext → PlatformResult<T> → Api → Protocol Response / ProtocolException
边界(重要):本类不依赖 Api、Response、
ProtocolException 或 WebSocket,也不持有 HTTP-like 状态码。
把 PlatformResultCode 翻译成协议状态是 Api 层的职责。
因此其它模块(命令层、未来的非协议调用方)也可以直接调用
PlatformContext 并消费本类型,完全不需要经过 Api / WebSocket。
不可变:三个字段均为 final,可安全地在多线程之间传递。
为什么不使用 record:本模块以 release = 8 编译(需支持到 1.7.10),
record 是 Java 16+ 语法,无法使用。访问器沿用项目的 getter 风格。
- Since:
- 0.7.0
-
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic <T> PlatformResult<T> failure(PlatformResultCode code, String message) 构造失败结果getCode()getData()inthashCode()booleanstatic <T> PlatformResult<T> success(T data) 构造成功结果static <T> PlatformResult<T> 构造带说明的成功结果toString()
-
Method Details
-
success
构造成功结果- Type Parameters:
T- 数据类型- Parameters:
data- 成功数据,允许为 null(Void场景)- Returns:
- 成功结果
-
success
构造带说明的成功结果- Type Parameters:
T- 数据类型- Parameters:
data- 成功数据,允许为 nullmessage- 说明信息,可为 null- Returns:
- 成功结果
-
failure
构造失败结果- Type Parameters:
T- 数据类型(失败时 data 恒为 null)- Parameters:
code- 失败结果码,不得为 null 且不应为PlatformResultCode.SUCCESSmessage- 失败说明,可为 null- Returns:
- 失败结果
-
getCode
- Returns:
- 结果码
-
getMessage
- Returns:
- 说明信息,可为 null
-
getData
- Returns:
- 成功数据;失败时为 null
-
isSuccess
public boolean isSuccess()- Returns:
- 是否成功
-
equals
-
hashCode
public int hashCode() -
toString
-