Mercury-IM/persistence/src/main/java/org/mercury_im/messenger/persistence/repository/ContactRepository.java

23 lines
725 B
Java

package org.mercury_im.messenger.persistence.repository;
import org.jxmpp.jid.EntityBareJid;
import org.mercury_im.messenger.persistence.model.ContactModel;
import org.mercury_im.messenger.persistence.model.ContactAttributes;
import org.mercury_im.messenger.persistence.model.EntityModel;
import java.util.List;
import io.reactivex.Maybe;
import io.reactivex.Observable;
public interface ContactRepository<CE extends ContactModel<? extends ContactAttributes, ? extends EntityModel>> {
Maybe<CE> getContact(long accountId, EntityBareJid jid);
Maybe<CE> getContactForEntity(EntityModel entityModel);
Observable<List<CE>> getAllContactsOfAccount(long accountId);
Observable<List<CE>> getAllContacts();
}