package org.mercury_im.messenger.core.entity.contact; import org.mercury_im.messenger.core.entity.Account; import org.mercury_im.messenger.core.entity.Address; /** * Defines a user on the network (eg. a contact, chat partner, group chat member etc). * Basically anyone that may send you a message is an Interlocutor. * * @param Account Type * @param Address type for the Interlocutor * @param UserAddress type for the account */ public interface Interlocutor< AC extends Account, IA extends Address, AD extends Address.UserAddress> { long getId(); void setId(long id); AC getAccount(); void setAccount(AC account); IA getAddress(); void setAddress(IA address); String getName(); void setName(String name); }