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

36 lines
1.3 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.MessageDao;
import org.mercury_im.messenger.persistence.room.dao.RosterEntryDao;
import org.mercury_im.messenger.persistence.room.model.RoomAccountModel;
import org.mercury_im.messenger.persistence.room.model.RoomMessageModel;
import org.mercury_im.messenger.persistence.room.model.RoomRosterEntryModel;
@Database(entities = {RoomRosterEntryModel.class, RoomAccountModel.class, RoomMessageModel.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public static final String DB_NAME = "app_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 RosterEntryDao rosterEntryDao();
public abstract MessageDao messageDao();
public abstract AccountDao accountDao();
}