Mercury-IM/entity/src/main/java/org/mercury_im/messenger/core/entity/Account.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 {
}
}