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

com.google.firebase.ImplFirebaseTrampolines Maven / Gradle / Ivy

/*
 * Copyright 2017 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.firebase;

import com.google.api.core.ApiAsyncFunction;
import com.google.api.core.ApiFunction;
import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutures;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.firestore.FirestoreOptions;
import com.google.firebase.internal.FirebaseService;
import com.google.firebase.internal.NonNull;

import java.util.concurrent.Callable;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ThreadFactory;

/**
 * Provides trampolines into package-private APIs used by components of Firebase. Intentionally
 * scarily-named to dissuade people from actually trying to use the class and to make it less likely
 * to appear in code completion.
 *
 * @hide
 */
public final class ImplFirebaseTrampolines {

  private ImplFirebaseTrampolines() {}

  public static GoogleCredentials getCredentials(@NonNull FirebaseApp app) {
    return app.getOptions().getCredentials();
  }

  public static String getProjectId(@NonNull FirebaseApp app) {
    return app.getProjectId();
  }

  public static FirestoreOptions getFirestoreOptions(@NonNull FirebaseApp app) {
    return app.getOptions().getFirestoreOptions();
  }

  public static boolean isDefaultApp(@NonNull FirebaseApp app) {
    return app.isDefaultApp();
  }

  public static  T getService(
      @NonNull FirebaseApp app, @NonNull String id, @NonNull Class type) {
    return type.cast(app.getService(id));
  }

  public static  T addService(
      @NonNull FirebaseApp app, @NonNull T service) {
    app.addService(service);
    return service;
  }

  public static ThreadFactory getThreadFactory(@NonNull FirebaseApp app) {
    return app.getThreadFactory();
  }

  public static  ApiFuture transform(
      ApiFuture input,
      final ApiFunction function,
      @NonNull FirebaseApp app) {
    return ApiFutures.transform(input, function, app.getScheduledExecutorService());
  }

  public static  ApiFuture transformAsync(
      ApiFuture input, final ApiAsyncFunction function, @NonNull FirebaseApp app) {
    return ApiFutures.transformAsync(input, function, app.getScheduledExecutorService());
  }

  public static ScheduledFuture schedule(
      @NonNull FirebaseApp app, @NonNull Runnable runnable, long delayMillis) {
    return app.schedule(runnable, delayMillis);
  }

  public static  ApiFuture submitCallable(
      @NonNull FirebaseApp app, @NonNull Callable command) {
    return app.submit(command);
  }

  public static void startTokenRefresher(@NonNull FirebaseApp app) {
    app.startTokenRefresher();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy