35 lines
803 B
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);
|
|
}
|