36 lines
1.3 KiB
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();
|
|
}
|