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

66 lines
2.3 KiB
Java

package org.mercury_im.messenger.persistence.room;
import org.mercury_im.messenger.persistence.repository.AccountRepository;
import org.mercury_im.messenger.persistence.repository.ChatRepository;
import org.mercury_im.messenger.persistence.repository.ContactRepository;
import org.mercury_im.messenger.persistence.repository.ContactAttributesRepository;
import org.mercury_im.messenger.persistence.repository.EntityRepository;
import org.mercury_im.messenger.persistence.repository.MessageRepository;
import org.mercury_im.messenger.persistence.room.dao.AccountDao;
import org.mercury_im.messenger.persistence.room.dao.ChatDao;
import org.mercury_im.messenger.persistence.room.dao.ContactDao;
import org.mercury_im.messenger.persistence.room.dao.ContactAttributesDao;
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.repository.IAccountRepository;
import org.mercury_im.messenger.persistence.room.repository.IChatRepository;
import org.mercury_im.messenger.persistence.room.repository.IContactRepository;
import org.mercury_im.messenger.persistence.room.repository.IContactAttributesRepository;
import org.mercury_im.messenger.persistence.room.repository.IEntityRepository;
import org.mercury_im.messenger.persistence.room.repository.IMessageRepository;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
@Module
public class RoomRepositoryModule {
@Singleton
@Provides
AccountRepository provideAccountRepository(AccountDao dao) {
return new IAccountRepository(dao);
}
@Singleton
@Provides
EntityRepository provideEntityRepository(EntityDao dao) {
return new IEntityRepository(dao);
}
@Singleton
@Provides
ContactAttributesRepository provideContactAttributesRepository(ContactAttributesDao dao) {
return new IContactAttributesRepository(dao);
}
@Singleton
@Provides
ChatRepository provideChatRepository(ChatDao dao) {
return new IChatRepository(dao);
}
@Singleton
@Provides
MessageRepository provideMessageRepository(MessageDao dao) {
return new IMessageRepository(dao);
}
@Singleton
@Provides
ContactRepository provideContactRepository(ContactDao dao) {
return new IContactRepository(dao);
}
}