RetResult增加cast方法
This commit is contained in:
@@ -97,6 +97,22 @@ public class RetResult<T> implements Serializable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public <V> RetResult<V> cast(Type newType) {
|
||||||
|
return cast(this, newType);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <V> RetResult<V> cast(RetResult rs, Type newType) {
|
||||||
|
Object d = rs.result;
|
||||||
|
if (d != null) {
|
||||||
|
String text = d instanceof CharSequence
|
||||||
|
? d.toString()
|
||||||
|
: JsonConvert.root().convertTo(d);
|
||||||
|
V n = JsonConvert.root().convertFrom(newType, text);
|
||||||
|
return new RetResult(rs.retcode, rs.retinfo, n).convert(rs.convert);
|
||||||
|
}
|
||||||
|
return rs;
|
||||||
|
}
|
||||||
|
|
||||||
public CompletableFuture<RetResult<T>> toFuture() {
|
public CompletableFuture<RetResult<T>> toFuture() {
|
||||||
return CompletableFuture.completedFuture(this);
|
return CompletableFuture.completedFuture(this);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user