import java.io.Serializable;
import org.mxchange.jusercore.events.registration.UserRegisteredEvent;
+import org.mxchange.jusercore.model.user.User;
/**
* An interface for user beans
* <p>
* @param event User registration event
*/
- void afterRegistrationEvent (final UserRegisteredEvent event);
+ void afterUserRegistrationEvent (final UserRegisteredEvent event);
/**
* Adds user instance to database by preparing a complete user instance and
String addUser ();
/**
- * Edits cuirrently loaded user's data in database.
+ * Deletes given user account
+ * <p>
+ * @param user User instance to delete
+ * <p>
+ * @return Redirect outcome
+ */
+ String deleteUserData (final User user);
+
+ /**
+ * Edits currently loaded user's data in database.
* <p>
* @return Redirect outcome
*/
String editUserData ();
+ /**
+ * Locks selected user's account. This method makes sure that a lock reason
+ * is provided that th user later can read on login attempts.
+ * <p>
+ * @param user User instance to be locked
+ * <p>
+ * @return Redirect outcome
+ */
+ String lockUserAccount (final User user);
+
+ /**
+ * Unlocks selected user's account. This method makes sure that the account
+ * is locked.
+ * <p>
+ * @param user User instance to be unlocked
+ * <p>
+ * @return Redirect outcome
+ */
+ String unlockUserAccount (final User user);
+
/**
* Getter for user name
* <p>
*/
void setUserMustChangePassword (final Boolean userMustChangePassword);
+ /**
+ * Getter for user lock reason
+ * <p>
+ * @return User lock reason
+ */
+ String getUserLockReason ();
+
+ /**
+ * Setter for user lock reason
+ * <p>
+ * @param userLockReason User lock reason
+ */
+ void setUserLockReason (final String userLockReason);
+
+ /**
+ * Getter for user delete reason
+ * <p>
+ * @return User delete reason
+ */
+ String getUserDeleteReason ();
+
+ /**
+ * Setter for user delete reason
+ * <p>
+ * @param userDeleteReason User delete reason
+ */
+ void setUserDeleteReason (final String userDeleteReason);
+
}