Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
io.quarkus.mongodb.impl.ReactiveMongoClientImpl Maven / Gradle / Ivy
package io.quarkus.mongodb.impl;
import java.util.List;
import java.util.concurrent.CompletionStage;
import org.bson.Document;
import org.bson.conversions.Bson;
import org.eclipse.microprofile.reactive.streams.operators.PublisherBuilder;
import org.reactivestreams.Publisher;
import com.mongodb.ClientSessionOptions;
import com.mongodb.client.model.changestream.ChangeStreamDocument;
import com.mongodb.reactivestreams.client.ChangeStreamPublisher;
import com.mongodb.reactivestreams.client.ClientSession;
import com.mongodb.reactivestreams.client.ListDatabasesPublisher;
import com.mongodb.reactivestreams.client.MongoClient;
import io.quarkus.mongodb.ChangeStreamOptions;
import io.quarkus.mongodb.DatabaseListOptions;
import io.quarkus.mongodb.ReactiveMongoClient;
import io.quarkus.mongodb.ReactiveMongoDatabase;
public class ReactiveMongoClientImpl implements ReactiveMongoClient {
private final MongoClient client;
public ReactiveMongoClientImpl(MongoClient client) {
this.client = client;
}
@Override
public ReactiveMongoDatabase getDatabase(String name) {
return new ReactiveMongoDatabaseImpl(client.getDatabase(name));
}
@Override
public void close() {
client.close();
}
@Override
public PublisherBuilder listDatabaseNames() {
return Wrappers.toPublisherBuilder(client.listDatabaseNames());
}
@Override
public Publisher listDatabaseNamesAsPublisher() {
return client.listDatabaseNames();
}
@Override
public PublisherBuilder listDatabaseNames(ClientSession clientSession) {
return Wrappers.toPublisherBuilder(client.listDatabaseNames(clientSession));
}
@Override
public Publisher listDatabaseNamesAsPublisher(ClientSession clientSession) {
return client.listDatabaseNames(clientSession);
}
@Override
public ListDatabasesPublisher listDatabasesAsPublisher() {
return client.listDatabases();
}
@Override
public PublisherBuilder listDatabases() {
return Wrappers.toPublisherBuilder(client.listDatabases());
}
@Override
public PublisherBuilder listDatabases(DatabaseListOptions options) {
if (options != null) {
ListDatabasesPublisher publisher = apply(options, client.listDatabases());
return Wrappers.toPublisherBuilder(publisher);
} else {
return listDatabases();
}
}
private ListDatabasesPublisher apply(DatabaseListOptions options, ListDatabasesPublisher publisher) {
if (options == null) {
return publisher;
}
return options.apply(publisher);
}
private ChangeStreamPublisher apply(ChangeStreamOptions options, ChangeStreamPublisher publisher) {
if (options == null) {
return publisher;
}
return options.apply(publisher);
}
@Override
public ListDatabasesPublisher listDatabasesAsPublisher(Class clazz) {
return client.listDatabases(clazz);
}
@Override
public PublisherBuilder listDatabases(Class clazz) {
return Wrappers.toPublisherBuilder(client.listDatabases(clazz));
}
@Override
public PublisherBuilder listDatabases(Class clazz, DatabaseListOptions options) {
if (options != null) {
ListDatabasesPublisher publisher = apply(options, client.listDatabases(clazz));
return Wrappers.toPublisherBuilder(publisher);
} else {
return listDatabases(clazz);
}
}
@Override
public ListDatabasesPublisher listDatabasesAsPublisher(ClientSession clientSession) {
return client.listDatabases(clientSession);
}
@Override
public PublisherBuilder listDatabases(ClientSession clientSession) {
return Wrappers.toPublisherBuilder(client.listDatabases(clientSession));
}
@Override
public PublisherBuilder listDatabases(ClientSession clientSession, DatabaseListOptions options) {
ListDatabasesPublisher publisher = apply(options, client.listDatabases(clientSession));
return Wrappers.toPublisherBuilder(publisher);
}
@Override
public ListDatabasesPublisher listDatabasesAsPublisher(ClientSession clientSession, Class clazz) {
return client.listDatabases(clientSession, clazz);
}
@Override
public PublisherBuilder listDatabases(ClientSession clientSession, Class clazz) {
return Wrappers.toPublisherBuilder(client.listDatabases(clientSession, clazz));
}
@Override
public PublisherBuilder listDatabases(ClientSession clientSession, Class clazz, DatabaseListOptions options) {
return Wrappers.toPublisherBuilder(apply(options, client.listDatabases(clientSession, clazz)));
}
@Override
public ChangeStreamPublisher watchAsPublisher() {
return client.watch();
}
@Override
public PublisherBuilder> watch() {
return Wrappers.toPublisherBuilder(client.watch());
}
@Override
public PublisherBuilder> watch(ChangeStreamOptions options) {
ChangeStreamPublisher publisher = apply(options, client.watch());
return Wrappers.toPublisherBuilder(publisher);
}
@Override
public ChangeStreamPublisher watchAsPublisher(Class clazz) {
return client.watch(clazz);
}
@Override
public PublisherBuilder> watch(Class clazz) {
return Wrappers.toPublisherBuilder(client.watch(clazz));
}
@Override
public PublisherBuilder> watch(Class clazz, ChangeStreamOptions options) {
ChangeStreamPublisher publisher = apply(options, client.watch(clazz));
return Wrappers.toPublisherBuilder(publisher);
}
@Override
public ChangeStreamPublisher watchAsPublisher(List pipeline) {
return client.watch(pipeline);
}
@Override
public PublisherBuilder> watch(List pipeline) {
return Wrappers.toPublisherBuilder(client.watch(pipeline));
}
@Override
public PublisherBuilder> watch(List pipeline, ChangeStreamOptions options) {
ChangeStreamPublisher publisher = apply(options, client.watch(pipeline));
return Wrappers.toPublisherBuilder(publisher);
}
@Override
public ChangeStreamPublisher watchAsPublisher(List pipeline, Class clazz) {
return client.watch(pipeline, clazz);
}
@Override
public PublisherBuilder> watch(List pipeline, Class clazz) {
return Wrappers.toPublisherBuilder(client.watch(pipeline, clazz));
}
@Override
public PublisherBuilder> watch(List pipeline, Class clazz,
ChangeStreamOptions options) {
ChangeStreamPublisher publisher = apply(options, client.watch(pipeline, clazz));
return Wrappers.toPublisherBuilder(publisher);
}
@Override
public ChangeStreamPublisher watchAsPublisher(ClientSession clientSession) {
return client.watch(clientSession);
}
@Override
public PublisherBuilder> watch(ClientSession clientSession) {
return Wrappers.toPublisherBuilder(client.watch(clientSession));
}
@Override
public PublisherBuilder> watch(ClientSession clientSession, ChangeStreamOptions options) {
ChangeStreamPublisher publisher = apply(options, client.watch(clientSession));
return Wrappers.toPublisherBuilder(publisher);
}
@Override
public ChangeStreamPublisher watchAsPublisher(ClientSession clientSession, Class clazz) {
return client.watch(clientSession, clazz);
}
@Override
public PublisherBuilder> watch(ClientSession clientSession, Class clazz) {
return Wrappers.toPublisherBuilder(client.watch(clientSession, clazz));
}
@Override
public PublisherBuilder> watch(ClientSession clientSession, Class clazz,
ChangeStreamOptions options) {
ChangeStreamPublisher publisher = apply(options, client.watch(clientSession, clazz));
return Wrappers.toPublisherBuilder(publisher);
}
@Override
public ChangeStreamPublisher watchAsPublisher(ClientSession clientSession, List pipeline) {
return client.watch(clientSession, pipeline);
}
@Override
public PublisherBuilder> watch(ClientSession clientSession,
List pipeline) {
return Wrappers.toPublisherBuilder(client.watch(clientSession, pipeline));
}
@Override
public PublisherBuilder> watch(ClientSession clientSession, List pipeline,
ChangeStreamOptions options) {
ChangeStreamPublisher publisher = apply(options, client.watch(clientSession, pipeline));
return Wrappers.toPublisherBuilder(publisher);
}
@Override
public ChangeStreamPublisher watchAsPublisher(ClientSession clientSession, List pipeline,
Class clazz) {
return client.watch(clientSession, pipeline, clazz);
}
@Override
public PublisherBuilder> watch(ClientSession clientSession, List pipeline,
Class clazz) {
return Wrappers.toPublisherBuilder(client.watch(clientSession, pipeline, clazz));
}
@Override
public PublisherBuilder> watch(ClientSession clientSession, List pipeline,
Class clazz, ChangeStreamOptions options) {
ChangeStreamPublisher publisher = apply(options, client.watch(clientSession, pipeline, clazz));
return Wrappers.toPublisherBuilder(publisher);
}
@Override
public CompletionStage startSession() {
return Wrappers.toCompletionStage(client.startSession());
}
@Override
public CompletionStage startSession(ClientSessionOptions options) {
return Wrappers.toCompletionStage(client.startSession(options));
}
}