mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-14 06:14:45 +01:00
Refactor database manager
This commit is contained in:
@@ -30,7 +30,9 @@ import emu.lunarcore.Config.InternalMongoInfo;
|
|||||||
import emu.lunarcore.LunarCore;
|
import emu.lunarcore.LunarCore;
|
||||||
import emu.lunarcore.LunarCore.ServerType;
|
import emu.lunarcore.LunarCore.ServerType;
|
||||||
import emu.lunarcore.database.codecs.*;
|
import emu.lunarcore.database.codecs.*;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
public final class DatabaseManager {
|
public final class DatabaseManager {
|
||||||
private MongoServer server;
|
private MongoServer server;
|
||||||
private Datastore datastore;
|
private Datastore datastore;
|
||||||
@@ -99,18 +101,10 @@ public final class DatabaseManager {
|
|||||||
ensureIndexes();
|
ensureIndexes();
|
||||||
}
|
}
|
||||||
|
|
||||||
public MongoServer getServer() {
|
|
||||||
return server;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MongoDatabase getDatabase() {
|
public MongoDatabase getDatabase() {
|
||||||
return getDatastore().getDatabase();
|
return getDatastore().getDatabase();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Datastore getDatastore() {
|
|
||||||
return datastore;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ensureIndexes() {
|
private void ensureIndexes() {
|
||||||
try {
|
try {
|
||||||
datastore.ensureIndexes();
|
datastore.ensureIndexes();
|
||||||
@@ -129,7 +123,7 @@ public final class DatabaseManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
// Internal mongo server
|
||||||
|
|
||||||
public String startInternalMongoServer(InternalMongoInfo internalMongo) {
|
public String startInternalMongoServer(InternalMongoInfo internalMongo) {
|
||||||
// Get backend
|
// Get backend
|
||||||
@@ -168,12 +162,12 @@ public final class DatabaseManager {
|
|||||||
return getDatastore().find(cls).filter(Filters.eq(filter, value)).first();
|
return getDatastore().find(cls).filter(Filters.eq(filter, value)).first();
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T getObjectByField(Class<T> cls, String filter, int value) {
|
public <T> T getObjectByField(Class<T> cls, String filter, long value) {
|
||||||
return getDatastore().find(cls).filter(Filters.eq(filter, value)).first();
|
return getDatastore().find(cls).filter(Filters.eq(filter, value)).first();
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> Stream<T> getObjects(Class<T> cls, String filter, long uid) {
|
public <T> Stream<T> getObjects(Class<T> cls, String filter, long value) {
|
||||||
return getDatastore().find(cls).filter(Filters.eq(filter, uid)).stream();
|
return getDatastore().find(cls).filter(Filters.eq(filter, value)).stream();
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> Stream<T> getObjects(Class<T> cls) {
|
public <T> Stream<T> getObjects(Class<T> cls) {
|
||||||
|
|||||||
Reference in New Issue
Block a user