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

cn.leancloud.AVCloud Maven / Gradle / Ivy

package cn.leancloud;

import cn.leancloud.core.PaasClient;
import cn.leancloud.ops.Utils;
import io.reactivex.Observable;

import java.util.Map;

public class AVCloud {
  private static boolean isProduction = true;
  /**
   * 设置调用云代码函数的测试环境或者生产环境,默认为true,也就是生产环境。
   * @param productionMode flag to production mode.
   */
  public static void setProductionMode(boolean productionMode) {
    isProduction = productionMode;
  }

  /**
   * Whether current mode is production or not.
   * @return flag to production mode.
   */
  public static boolean isProductionMode() {return isProduction;}

  /**
   * Call Cloud Function in Background.
   * @param name function name.
   * @param params invoke parameters.
   * @param  template type.
   * @return observable instance.
   */
  public static  Observable callFunctionInBackground(String name, Map params) {
    return PaasClient.getStorageClient().callFunction(name, Utils.getParsedMap(params));
  }

  public static  Observable callFunctionWithCacheInBackground(String name, Map params,
                                                                    AVQuery.CachePolicy cachePolicy, long maxCacheAge) {
    return PaasClient.getStorageClient().callFunctionWithCachePolicy(name, Utils.getParsedMap(params), cachePolicy, maxCacheAge);
  }

  /**
   * Call Cloud RPC Function in Background.
   * @param name function name.
   * @param params invoke parameters.
   * @param  template type.
   * @return observable instance.
   */
  public static  Observable callRPCInBackground(String name, Object params) {
    return PaasClient.getStorageClient().callRPC(name, Utils.getParsedObject(params));
  }

  public static  Observable callRPCWithCacheInBackground(String name, Map params,
                                                               AVQuery.CachePolicy cachePolicy, long maxCacheAge) {
    return PaasClient.getStorageClient().callRPCWithCachePolicy(name, Utils.getParsedMap(params), cachePolicy, maxCacheAge);
  }

  private AVCloud() {
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy