Core/src/main/java/eu/univento/core/api/database/MongoDB.java

42 lines
1.3 KiB
Java

package eu.univento.core.api.database;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoDatabase;
import eu.univento.core.api.Config;
import java.util.Collections;
public class MongoDB {
private MongoClient client;
private MongoDatabase database;
public MongoClient getClient() {
if(client == null)
new MongoDB(Config.readString("MongoDB.Host"), Config.readInt("MongoDB.Port"), Config.readString("MongoDB.User"), Config.readString("MongoDB.Password"), Config.readString("MongoDB.Database"));
return client;
}
public MongoDB(String host, int port, String username, String password, String database) {
MongoCredential credential = MongoCredential.createCredential(username, database, password.toCharArray());
client = new MongoClient(new ServerAddress(host, port), Collections.singletonList(credential));
}
public MongoDatabase getDatabase() {
if(database == null)
database = getClient().getDatabase(Config.readString("MongoDB.Database"));
return database;
}
public void setDatabase(String database) {
this.database = getClient().getDatabase(database);
}
public void closeConnection() {
if(client != null)
client.close();
}
}