All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.leancloud.convertor.ObserverBuilder Maven / Gradle / Ivy

package cn.leancloud.convertor;

import cn.leancloud.AVUser;
import cn.leancloud.callback.*;
import cn.leancloud.AVException;
import cn.leancloud.AVObject;
import cn.leancloud.types.AVNull;
import com.alibaba.fastjson.JSONObject;
import io.reactivex.Observer;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;

import java.util.List;

public class ObserverBuilder {

  static class SingleObjectObserver implements Observer {
    private AVCallback callback;
    SingleObjectObserver(AVCallback callback) {
      this.callback = callback;
    }

    public void onNext(T object) {
      this.callback.internalDone(object, null);
    }

    public void onComplete() {
    }

    public void onError(Throwable error) {
      AVException exception = new AVException(error);
      this.callback.internalDone(exception);
    }
    public void onSubscribe(@NonNull Disposable var1) {
      ;
    }
  }

  static class CollectionObserver  implements Observer> {
    private AVCallback> callback;
    CollectionObserver(AVCallback callback) {
      this.callback = callback;
    }

    public void onNext(List object) {
      this.callback.internalDone(object, null);
    }

    public void onComplete() {
    }

    public void onError(Throwable error) {
      AVException exception = new AVException(error);
      this.callback.internalDone(exception);
    }

    public void onSubscribe(@NonNull Disposable var1) {
      ;
    }
  }

  /**
   * Single Object Observer.
   */

  public static  SingleObjectObserver buildSingleObserver(GetCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static  SingleObjectObserver buildSingleObserver(SaveCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static SingleObjectObserver buildSingleObserver(DeleteCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static  SingleObjectObserver buildSingleObserver(RefreshCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static  SingleObjectObserver buildSingleObserver(LogInCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static SingleObjectObserver buildSingleObserver(SignUpCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static SingleObjectObserver buildSingleObserver(RequestEmailVerifyCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static SingleObjectObserver buildSingleObserver(RequestMobileCodeCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static SingleObjectObserver buildSingleObserver(FollowersAndFolloweesCallback callback) {
    return new SingleObjectObserver<>(callback);
  }
  public static SingleObjectObserver buildSingleObserver(RequestPasswordResetCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static SingleObjectObserver buildSingleObserver(CountCallback callback) {
    return new SingleObjectObserver(callback);
  }

  public static SingleObjectObserver buildSingleObserver(UpdatePasswordCallback callback) {
    return new SingleObjectObserver(callback);
  }
  public static SingleObjectObserver buildSingleObserver(MobilePhoneVerifyCallback callback) {
    return new SingleObjectObserver(callback);
  }
  /**
   * Multiple Objects Observer.
   */

  public static  CollectionObserver buildSingleObserver(FindCallback callback) {
    return new CollectionObserver(callback);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy