import org.mxchange.jusercore.exceptions.UserNotFoundException;
import org.mxchange.jusercore.exceptions.UserStatusConfirmedException;
import org.mxchange.jusercore.exceptions.UserStatusLockedException;
+import org.mxchange.jusercore.exceptions.UserStatusUnconfirmedException;
/**
* An interface for user beans
@Remote
public interface UserSessionBeanRemote extends Serializable {
+ /**
+ * Updates user's password (must be set encrypted before calling this
+ * method) and records the password change in user's password history.
+ * <p>
+ * @param user User instance with updated password
+ * <p>
+ * @return Updated user instance
+ *
+ * @throws UserNotFoundException If the user is not found
+ * @throws UserStatusUnconfirmedException If the user status is unconfirmed
+ * @throws UserStatusLockedException If the user status is locked
+ */
+ User updateUserPassword (final User user) throws UserNotFoundException, UserStatusUnconfirmedException, UserStatusLockedException;
+
/**
* Changes the user' account status to CONFIRMED if the status is
* UNCONFIRMED, else propper exceptions are thrown.