Last active
July 15, 2016 10:44
-
-
Save andych008/914b61ae5ab86ce50e36fd546876c8e3 to your computer and use it in GitHub Desktop.
entity可用性常规则检查
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 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