35 lines
770 B
Java
35 lines
770 B
Java
package org.mercury_im.messenger.core.entity;
|
|
|
|
/**
|
|
* User Account entity.
|
|
*
|
|
* @param <AD> UserAddress Type. This type describes the accounts address.
|
|
* @param <AU> AuthMethod Type. This type describes details about the accounts authentication method.
|
|
*/
|
|
public interface Account<AD extends Address.UserAddress, AU extends Account.AuthMethod> {
|
|
|
|
void setId(long id);
|
|
|
|
long getId();
|
|
|
|
void setAddress(AD address);
|
|
|
|
AD getAddress();
|
|
|
|
void setAuthentication(AU authentication);
|
|
|
|
AU getAuthentication();
|
|
|
|
void setEnabled(boolean enabled);
|
|
|
|
boolean isEnabled();
|
|
|
|
/**
|
|
* Interface to allow protocol-specific authentication information, like passwords, parameters,
|
|
* certificates etc.
|
|
*/
|
|
interface AuthMethod {
|
|
|
|
}
|
|
}
|