
cn.leancloud.convertor.ObserverBuilder Maven / Gradle / Ivy
package cn.leancloud.convertor;
import cn.leancloud.*;
import cn.leancloud.LCUser;
import cn.leancloud.callback.*;
import cn.leancloud.LCObject;
import cn.leancloud.query.LCCloudQueryResult;
import cn.leancloud.types.LCNull;
import cn.leancloud.json.JSONObject;
import io.reactivex.Observer;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import java.io.InputStream;
import java.util.List;
public class ObserverBuilder {
static class SingleObjectObserver implements Observer {
private LCCallback callback;
private boolean nextCalled = false;
SingleObjectObserver(LCCallback callback) {
this.callback = callback;
}
public void onNext(T object) {
nextCalled = true;
this.callback.internalDone(object, null);
}
public void onComplete() {
if (!nextCalled) {
this.callback.internalDone(null, null);
}
}
public void onError(Throwable error) {
LCException exception = new LCException(error);
this.callback.internalDone(exception);
}
public void onSubscribe(@NonNull Disposable var1) {
;
}
}
static class CollectionObserver implements Observer> {
private LCCallback> callback;
CollectionObserver(LCCallback callback) {
this.callback = callback;
}
public void onNext(List object) {
this.callback.internalDone(object, null);
}
public void onComplete() {
}
public void onError(Throwable error) {
LCException exception = new LCException(error);
this.callback.internalDone(exception);
}
public void onSubscribe(@NonNull Disposable var1) {
;
}
}
/************************************************
* Single Object Observer.
************************************************/
/**
* build observer for GetCallback
* @param callback get callback
* @param template type
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(GetCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for SaveCallback
* @param callback save callback
* @param template type
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(SaveCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for DeleteCallback
* @param callback delete callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(DeleteCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for RefreshCallback
* @param callback refresh callback
* @param template type
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(RefreshCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for LogInCallback
* @param callback login calblack
* @param template type
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(LogInCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for SignupCallback
* @param callback signup callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(SignUpCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for RequestEmailVerifyCallback
* @param callback request email verify callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(RequestEmailVerifyCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for RequestMobileCodeCallback
* @param callback request mobile code callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(RequestMobileCodeCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for FollowersAndFolloweesCallback
* @param callback follower and followees callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(FollowersAndFolloweesCallback callback) {
return new SingleObjectObserver<>(callback);
}
/**
* build observer for RequestPasswordResetCallback
* @param callback request password reset callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(RequestPasswordResetCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for CountCallback
* @param callback count callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(CountCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for UpdatePasswordCallback
* @param callback update password callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(UpdatePasswordCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for MobilePhoneVerifyCallback
* @param callback mobile phone verify callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(MobilePhoneVerifyCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for FollowCallback
* @param callback follow callback
* @param template type
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(FollowCallback callback) {
return new SingleObjectObserver<>(callback);
}
/**
* build observer for FunctionCallback
* @param callback function callback
* @param template type
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(FunctionCallback callback) {
return new SingleObjectObserver<>(callback);
}
/**
* build observer for CloudQueryCallback
* @param callback cloud query callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(CloudQueryCallback callback) {
return new SingleObjectObserver<>(callback);
}
/**
* build observer for StatusCallback
* @param callback status callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(StatusCallback callback) {
return new SingleObjectObserver<>(callback);
}
/**
* build observer for SendCallback
* @param callback send callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(SendCallback callback) {
return new SingleObjectObserver(callback);
}
/**
* build observer for GetDataCallback
* @param callback get data callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(GetDataCallback callback) {
return new SingleObjectObserver<>(callback);
}
/**
* build observer for GetDataStreamCallback
* @param callback get data stream callback
* @return observer
*/
public static SingleObjectObserver buildSingleObserver(GetDataStreamCallback callback) {
return new SingleObjectObserver<>(callback);
}
/************************************************
* Multiple Objects Observer.
************************************************/
/**
* build observer for FindCallback
* @param callback find callback
* @param template type
* @return observer
*/
public static CollectionObserver buildCollectionObserver(FindCallback callback) {
return new CollectionObserver(callback);
}
/**
* build observer for StatusListCallback
* @param callback status list callback
* @return observer
*/
public static CollectionObserver buildCollectionObserver(StatusListCallback callback) {
return new CollectionObserver<>(callback);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy