Mercury-IM/entity/src/main/java/org/mercury_im/messenger/core/entity/contact/Interlocutor.java

35 lines
803 B
Java

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 <AC> Account Type
* @param <IA> Address type for the Interlocutor
* @param <AD> UserAddress type for the account
*/
public interface Interlocutor<
AC extends Account<AD, ?>,
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);
}