T - Data Typepublic class R<T> extends Object implements DataResult<T>, I18nAware
Basic result container. * `success` - whether the operation succeeded or failed. * `message` - message to the user. * `code` - business code. Note CodeEnum auto set the code. * `data` - business data to use if available. The following are `@Transient`, should ignore for `hashCode`, `equals` and `json` * `cause` - Internal error for tracking. Such as exceptions, strings, enum, etc. * `i18nCode`/`i18nArgs` - I18N messages instead of `message`. kryo - ignore transient field jackson - ignore transient field and @Transient method fastjson - ignore transient field When using the`cast*` method, be careful to avoid the ClassCastException. should NOT use `@Transient` on any serial method, or jackson will ignore this properties, see POJOPropertiesCollector#_removeUnwantedProperties and POJOPropertyBuilder#anyIgnorals
| Modifier and Type | Class and Description |
|---|---|
static class |
R.Immutable<T>
throw UnsupportedOperationException if modify
|
| Modifier and Type | Field and Description |
|---|---|
protected Object |
cause |
protected String |
code |
protected Object |
data |
protected Object[] |
i18nArgs |
protected String |
i18nCode |
protected String |
message |
protected boolean |
success |
| Modifier | Constructor and Description |
|---|---|
|
R() |
|
R(boolean success) |
protected |
R(boolean success,
CodeEnum code,
T data) |
protected |
R(boolean success,
String message,
String code,
T data) |
| Modifier and Type | Method and Description |
|---|---|
<S extends R<D>,D> |
castData(D data)
replace the data and force to cast to subclass
|
<S extends R<D>,D> |
castData(Function<T,D> fun)
replace the data and force to cast to subclass
|
<S extends R<D>,D> |
castType()
force to cast to subclass
|
boolean |
equals(Object o) |
@Nullable Object |
getCause() |
<E> E |
getCause(Class<E> type) |
@Nullable String |
getCode()
the biz code to caller
|
T |
getData()
the biz data to caller
|
@Nullable Object[] |
getI18nArgs()
get i18n args for template
|
@Nullable String |
getI18nCode()
get i18n code
|
@Nullable String |
getI18nHint()
default message or template
|
@Nullable String |
getMessage()
the message to the user
|
int |
hashCode() |
boolean |
isSuccess()
whether success, default false.
|
static <T> R<T> |
ng() |
static <T> R<T> |
NG() |
static <T> R<T> |
ng(CodeEnum code) |
static <T> R<T> |
ng(CodeEnum code,
T data) |
static <T,S extends R<T>> |
ng(S sr) |
static <T,S extends R<T>> |
ng(S sr,
CodeEnum code) |
static <T,S extends R<T>> |
ng(S sr,
CodeEnum code,
T data) |
static <T,S extends R<T>> |
ng(S sr,
String message) |
static <T,S extends R<T>> |
ng(S sr,
String message,
String code) |
static <T,S extends R<T>> |
ng(S sr,
String message,
String code,
T data) |
static <T,S extends R<T>> |
ng(S sr,
Throwable t) |
static <T,S extends R<T>> |
ng(S sr,
Throwable t,
CodeEnum code) |
static <T,S extends R<T>> |
ng(S sr,
Throwable t,
String code) |
static <T,S extends R<T>> |
ng(S sr,
Throwable t,
String code,
String message) |
static <T> R<T> |
ng(String message) |
static <T> R<T> |
ng(String message,
String code) |
static <T> R<T> |
ng(String message,
String code,
T data) |
static <T> R<T> |
ng(Throwable t) |
static <T> R<T> |
ng(Throwable t,
CodeEnum code) |
static <T> R<T> |
ng(Throwable t,
String code) |
static <T> R<T> |
ng(Throwable t,
String code,
String message) |
static <T> R<T> |
ngCode(CodeEnum code,
String message) |
static <T,S extends R<T>> |
ngCode(S sr,
CodeEnum code,
String message) |
static <T,S extends R<T>> |
ngCode(S sr,
String code) |
static <T,S extends R<T>> |
ngCode(S sr,
String code,
String message) |
static <T> R<T> |
ngCode(String code) |
static <T> R<T> |
ngCode(String code,
String message) |
static <T,S extends R<T>> |
ngData(S sr,
T data) |
static <T,S extends R<T>> |
ngData(S sr,
T data,
CodeEnum code) |
static <T,S extends R<T>> |
ngData(S sr,
T data,
String code) |
static <T,S extends R<T>> |
ngData(S sr,
T data,
Throwable t) |
static <T> R<T> |
ngData(T data) |
static <T> R<T> |
ngData(T data,
CodeEnum code) |
static <T> R<T> |
ngData(T data,
String code) |
static <T> R<T> |
ngData(T data,
Throwable t) |
static <T> R<T> |
of(boolean success) |
static <T> R<T> |
of(boolean success,
CodeEnum code) |
static <T> R<T> |
of(boolean success,
CodeEnum code,
String message,
T data) |
static <T> R<T> |
of(boolean success,
CodeEnum code,
T data) |
static <T> R<T> |
of(boolean success,
String message) |
static <T> R<T> |
of(boolean success,
String message,
String code) |
static <T> R<T> |
of(boolean success,
String message,
String code,
T data) |
static <T> R<T> |
ok() |
static <T> R<T> |
OK() |
static <T> R<T> |
ok(CodeEnum code) |
static <T> R<T> |
ok(CodeEnum code,
T data) |
static <T> R<T> |
ok(String message) |
static <T> R<T> |
ok(String message,
String code,
T data) |
static <T> R<T> |
ok(String message,
T data) |
static <T> R<T> |
okCode(CodeEnum code,
String message) |
static <T> R<T> |
okCode(String code) |
static <T> R<T> |
okCode(String code,
String message) |
static <T> R<T> |
okData(T data) |
static <T> R<T> |
okData(T data,
String code) |
static <T> R<T> |
orCode(boolean success,
CodeEnum okCode,
CodeEnum ngCode) |
static <T> R<T> |
orCode(boolean success,
String okCode,
String ngCode) |
static <T> R<T> |
orData(boolean success,
T okData,
T ngData) |
static <T> R<T> |
orMessage(boolean success,
String okMessage,
String ngMessage) |
R<T> |
setCause(Object cause) |
R<T> |
setCode(CodeEnum code) |
R<T> |
setCode(String code) |
R<T> |
setCodeIfNg(CodeEnum code) |
R<T> |
setCodeIfNg(String code) |
R<T> |
setCodeIfNg(@NotNull Supplier<CodeEnum> code) |
R<T> |
setCodeIfOk(CodeEnum code) |
R<T> |
setCodeIfOk(String code) |
R<T> |
setCodeIfOk(@NotNull Supplier<CodeEnum> code) |
R<T> |
setData(T data) |
R<T> |
setDataIfNg(@NotNull Supplier<T> data) |
R<T> |
setDataIfNg(T data) |
R<T> |
setDataIfOk(@NotNull Supplier<T> data) |
R<T> |
setDataIfOk(T data) |
R<T> |
setI18nMessage(Boolean replace,
CodeEnum ce,
Object... arg)
set i18nCode and i18nArgs.
|
R<T> |
setI18nMessage(Boolean replace,
I18nAware message)
set i18nCode and i18nArgs.
|
R<T> |
setI18nMessage(CodeEnum ce,
Object... arg)
set i18nCode and i18nArgs.
|
R<T> |
setI18nMessage(I18nAware message)
set i18nCode and i18nArgs.
|
R<T> |
setI18nMessage(String i18nCode,
Object... args) |
R<T> |
setI18nMessageIfNg(Boolean replace,
CodeEnum ce,
Object... arg) |
R<T> |
setI18nMessageIfNg(Boolean replace,
I18nAware message) |
R<T> |
setI18nMessageIfNg(Boolean replace,
Supplier<I18nAware> message) |
R<T> |
setI18nMessageIfNg(CodeEnum ce,
Object... arg) |
R<T> |
setI18nMessageIfNg(I18nAware message) |
R<T> |
setI18nMessageIfNg(String i18nCode,
Object... arg) |
R<T> |
setI18nMessageIfNg(Supplier<I18nAware> message) |
R<T> |
setI18nMessageIfOk(Boolean replace,
CodeEnum ce,
Object... arg) |
R<T> |
setI18nMessageIfOk(Boolean replace,
I18nAware message) |
R<T> |
setI18nMessageIfOk(Boolean replace,
Supplier<I18nAware> message) |
R<T> |
setI18nMessageIfOk(CodeEnum ce,
Object... arg) |
R<T> |
setI18nMessageIfOk(I18nAware message) |
R<T> |
setI18nMessageIfOk(String i18nCode,
Object... arg) |
R<T> |
setI18nMessageIfOk(Supplier<I18nAware> message) |
R<T> |
setMessage(String message) |
R<T> |
setMessageIfNg(String message) |
R<T> |
setMessageIfNg(@NotNull Supplier<String> message) |
R<T> |
setMessageIfOk(String message) |
R<T> |
setMessageIfOk(@NotNull Supplier<String> message) |
R<T> |
setSuccess(boolean success) |
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waithasData, hasMessagetoI18nString, toI18nString, toI18nString, toI18nStringArgsprotected boolean success
protected String message
protected String code
protected Object data
protected Object cause
protected String i18nCode
protected Object[] i18nArgs
public boolean isSuccess()
DataResultisSuccess in interface DataResult<T>@Nullable public @Nullable String getMessage()
DataResultgetMessage in interface DataResult<T>@Contract(value="_->this") public R<T> setMessageIfOk(@NotNull @NotNull Supplier<String> message)
@Contract(value="_->this") public R<T> setMessageIfNg(@NotNull @NotNull Supplier<String> message)
@Contract(value="_,_->this") public R<T> setI18nMessage(CodeEnum ce, Object... arg)
@Contract(value="_,_,_->this") public R<T> setI18nMessage(Boolean replace, CodeEnum ce, Object... arg)
set i18nCode and i18nArgs. replace code and message if replace is - null - absent - true - both - false - none
@Contract(value="_,_->this") public R<T> setI18nMessageIfOk(CodeEnum ce, Object... arg)
@Contract(value="_,_->this") public R<T> setI18nMessageIfNg(CodeEnum ce, Object... arg)
@Contract(value="_,_,_->this") public R<T> setI18nMessageIfOk(Boolean replace, CodeEnum ce, Object... arg)
@Contract(value="_,_,_->this") public R<T> setI18nMessageIfNg(Boolean replace, CodeEnum ce, Object... arg)
@Contract(value="_->this") public R<T> setI18nMessage(I18nAware message)
@Contract(value="_,_->this") public R<T> setI18nMessage(Boolean replace, I18nAware message)
set i18nCode and i18nArgs. replace code and message if replace is - null - absent - true - both - false - none
@Contract(value="_->this") public R<T> setI18nMessageIfOk(Supplier<I18nAware> message)
@Contract(value="_->this") public R<T> setI18nMessageIfNg(Supplier<I18nAware> message)
@Contract(value="_,_->this") public R<T> setI18nMessageIfOk(Boolean replace, I18nAware message)
@Contract(value="_,_->this") public R<T> setI18nMessageIfNg(Boolean replace, I18nAware message)
@Contract(value="_,_->this") public R<T> setI18nMessageIfOk(Boolean replace, Supplier<I18nAware> message)
@Contract(value="_,_->this") public R<T> setI18nMessageIfNg(Boolean replace, Supplier<I18nAware> message)
@Contract(value="_,_->this") public R<T> setI18nMessage(String i18nCode, Object... args)
@Contract(value="_,_->this") public R<T> setI18nMessageIfOk(String i18nCode, Object... arg)
@Contract(value="_,_->this") public R<T> setI18nMessageIfNg(String i18nCode, Object... arg)
@Nullable public T getData()
DataResultgetData in interface DataResult<T>@Nullable public @Nullable String getCode()
DataResultgetCode in interface DataResult<T>@Contract(value="_->this") public R<T> setCodeIfOk(@NotNull @NotNull Supplier<CodeEnum> code)
@Contract(value="_->this") public R<T> setCodeIfNg(@NotNull @NotNull Supplier<CodeEnum> code)
@Nullable public @Nullable Object getCause()
@Nullable public <E> E getCause(Class<E> type)
@Nullable public @Nullable String getI18nCode()
I18nAwaregetI18nCode in interface I18nAware@Nullable public @Nullable Object[] getI18nArgs()
I18nAwaregetI18nArgs in interface I18nAware@Nullable public @Nullable String getI18nHint()
I18nAwaregetI18nHint in interface I18nAware@Contract(value="->this") public <S extends R<D>,D> S castType()
S - subclass typeD - data typeClassCastException - if type not match@Contract(value="_->this") public <S extends R<D>,D> S castData(D data)
S - subclass typeD - data typedata - new dataClassCastException - if type not match@Contract(value="_->this") public <S extends R<D>,D> S castData(Function<T,D> fun)
S - subclass typeD - new typefun - type convertorClassCastException - if type not matchpublic static <T> R<T> orData(boolean success, T okData, T ngData)
public static <T> R<T> of(boolean success)
public static <T> R<T> OK()
public static <T> R<T> ok()
public static <T> R<T> okData(T data)
public static <T> R<T> NG()
public static <T> R<T> ng()
public static <T> R<T> ngData(T data)
public static <T,S extends R<T>> S ng(S sr)
public static <T,S extends R<T>> S ngData(S sr, T data)
Copyright © 2024. All rights reserved.