46 lines
1.5 KiB
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();
|
|
}
|