Skip to content

Instantly share code, notes, and snippets.

@andych008
Last active July 15, 2016 10:44
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andych008/914b61ae5ab86ce50e36fd546876c8e3 to your computer and use it in GitHub Desktop.
Save andych008/914b61ae5ab86ce50e36fd546876c8e3 to your computer and use it in GitHub Desktop.
entity可用性常规则检查
/**
* entity可用性常规则检查
*/
@SuppressWarnings("unchecked")
public static <T> Observable.Transformer<BaseEntity<T>, T> check() {
return new Observable.Transformer<BaseEntity<T>, T>() {
@Override
public Observable<T> call(Observable<BaseEntity<T>> observable) {
return observable.flatMap(new Func1<BaseEntity<T>, Observable<T>>() {
@Override
public Observable<T> call(BaseEntity<T> entity) {
if (entity == null) {
return Observable.error(new Throwable("获取内容失败"));
} else {
int code = entity.getCode();
if (code == 0) {
return Observable.just(entity.getData());
} else {
return Observable.error(new CatException(entity.getMessage(), code));
}
}
}
});
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment