Mercury-IM/persistence-room/src/main/java/org/mercury_im/messenger/persistence/room/AppDatabase.java

46 lines
1.5 KiB
Java

package org.mercury_im.messenger.persistence.room;
import android.content.Context;
import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import org.mercury_im.messenger.persistence.room.dao.AccountDao;
import org.mercury_im.messenger.persistence.room.dao.EntityDao;
import org.mercury_im.messenger.persistence.room.dao.MessageDao;
import org.mercury_im.messenger.persistence.room.dao.ContactDao;
import org.mercury_im.messenger.persistence.room.model.RoomAccountModel;
import org.mercury_im.messenger.persistence.room.model.RoomContactModel;
import org.mercury_im.messenger.persistence.room.model.RoomEntityModel;
import org.mercury_im.messenger.persistence.room.model.RoomMessageModel;
@Database(version = 1,
entities = {
RoomContactModel.class,
RoomAccountModel.class,
RoomMessageModel.class,
RoomEntityModel.class
})
public abstract class AppDatabase extends RoomDatabase {
private static final String DB_NAME = "mercury_db";
private static AppDatabase INSTANCE;
public static AppDatabase getDatabase(Context context) {
if (INSTANCE == null) {
INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
AppDatabase.class, DB_NAME).build();
}
return INSTANCE;
}
public abstract ContactDao rosterEntryDao();
public abstract MessageDao messageDao();
public abstract AccountDao accountDao();
public abstract EntityDao entityDao();
}