X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fmxchange%2Fpizzaapplication%2Fbeans%2Fuser%2FPizzaUserWebSessionController.java;h=aa87e4af41861f083242f3dd735b2c6b5960a859;hb=fea403ed5c05f960a2d17fd4c8f4ca639c46cbb2;hp=aecd5490bd68ab23a3c816558dc449ee6f941d5e;hpb=9641a385a1ebefa3c8627dd61f6b2696adc9a97e;p=pizzaservice-war.git diff --git a/src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionController.java b/src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionController.java index aecd5490..aa87e4af 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionController.java +++ b/src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionController.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Roland Haeder + * Copyright (C) 2016 Roland Häder * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -19,10 +19,14 @@ package org.mxchange.pizzaapplication.beans.user; import java.io.Serializable; import java.util.List; import org.mxchange.jcontacts.contact.Contact; +import org.mxchange.jusercore.events.confirmation.UserConfirmedAccountEvent; import org.mxchange.jusercore.events.login.UserLoggedInEvent; import org.mxchange.jusercore.events.registration.UserRegisteredEvent; import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent; +import org.mxchange.jusercore.events.user.password_change.UpdatedUserPasswordEvent; +import org.mxchange.jusercore.events.user.update.AdminUpdatedUserDataEvent; import org.mxchange.jusercore.events.user.update.UpdatedUserPersonalDataEvent; +import org.mxchange.jusercore.exceptions.UserEmailAddressNotFoundException; import org.mxchange.jusercore.exceptions.UserNotFoundException; import org.mxchange.jusercore.model.user.User; import org.mxchange.jusercore.model.user.profilemodes.ProfileMode; @@ -30,7 +34,7 @@ import org.mxchange.jusercore.model.user.profilemodes.ProfileMode; /** * An interface for user beans *
- * @author Roland Haeder
+ * @param event Event being fired
+ */
+ void afterAdminAddedUserEvent (final AdminAddedUserEvent event);
+
+ /**
+ * Event observer for updated user data by administrator
+ *
+ * @param event Event being updated
+ */
+ void afterAdminUpdatedUserDataEvent (final AdminUpdatedUserDataEvent event);
+
+ /**
+ * Event observer when user confirmed account.
+ *
+ * @param event Event being fired
+ */
+ void afterUserConfirmedAccount (final UserConfirmedAccountEvent event);
+
+ /**
+ * Method being call after user's password has been updated (and history
+ * entry has been created).
+ *
+ * @param event Event being observed
+ */
+ void afterUserUpdatedPasswordEvent (final UpdatedUserPasswordEvent event);
+
+ /**
+ * Listens to fired event when user updated personal data
+ *
+ * @param event Event being fired
+ */
+ void afterUserUpdatedPersonalData (final UpdatedUserPersonalDataEvent event);
+
+ /**
+ * Event observer for new user registrations
+ *
+ * @param event User registration event
+ */
+ void afterRegistrationEvent (final UserRegisteredEvent event);
+
+ /**
+ * Event observer for logged-in user
+ *
+ * @param event Event instance
+ */
+ void afterUserLogin (final UserLoggedInEvent event);
+
/**
* All users
*
@@ -47,11 +101,11 @@ public interface PizzaUserWebSessionController extends Serializable {
List
- * @return Whether users are registered
+ * @return A list of all public user profiles
*/
- boolean hasUsers ();
+ List
- * @param event Event being fired
+ * @return Whether at least one user has a public profile
*/
- void afterUserUpdatedPersonalData (final UpdatedUserPersonalDataEvent event);
-
- void updateList (final User user);
+ boolean isVisibleUserFound ();
/**
- * Returns a list of all selectable contacts for user creation. Contacts
- * from already existing users are excluded in this list.
+ * Checks whether given user instance's name is used
*
- * @return A list of all selectable contacts
+ * @param user User instance's name to check
+ *
+ * @return Whether it is already used
*/
- List
- * @param event Event being fired
- */
- void afterAdminAddedUserEvent (final AdminAddedUserEvent event);
-
- /**
- * Event observer for new user registrations
+ * @param emailAddress Email address
*
- * @param event User registration event
- */
- void afterRegistrationEvent (final UserRegisteredEvent event);
-
- /**
- * Event observer for logged-in user
+ * @return User instance
*
- * @param event Event instance
+ * @throws UserEmailAddressNotFoundException If the user's email address is not found
*/
- void afterUserLogin (final UserLoggedInEvent event);
+ User lookupUserByEmailAddress (final String emailAddress) throws UserEmailAddressNotFoundException;
/**
- * All public user profiles
+ * Creates an instance from all properties
*
- * @return A list of all public user profiles
+ * @param createContactData Whether contact data should be created
+ *
+ * @return A user instance
*/
- List
- * @return A user instance
+ * @return User instance
*/
- User createUserInstance ();
+ User createUserLogin ();
/**
* Getter for user id
@@ -218,35 +265,34 @@ public interface PizzaUserWebSessionController extends Serializable {
boolean isSamePasswordEntered ();
/**
- * Checks whether given user instance's name is used
- *
- * @param user User instance's name to check
+ * Checks if the user id is empty
*
- * @return Whether it is already used
+ * @return Whether the user id is empty
*/
- boolean isUserNameRegistered (final User user);
+ boolean isUserIdEmpty ();
/**
- * Checks whether a public user account is registered. This means that at
- * least one user profile has its flag "public user profile" enabled.
+ * Changes logged-in user's personal data if the current password matches
+ * and TAC + privacy statement has been accepted.
*
- * @return Whether at least one user has a public profile
+ * @return New target page
*/
- boolean isVisibleUserFound ();
+ String doChangePersonalData ();
/**
- * Checks if the user id is empty
+ * Checks whether this application requires a user name to be entered.
+ * Otherwise a random name like "userXXXXX" is generated
*
- * @return Whether the user id is empty
+ * @return Whether this application requires a user name
*/
- boolean isUserIdEmpty ();
+ boolean isUserNameRequired ();
/**
- * Changes logged-in user's personal data if the current password matches
- * and TAC + privacy statement has been accepted.
+ * Checks wether public user profiles are enabled. This requires that user
+ * names are also enabled.
*
- * @return New target page
+ * @return Whether public user profiles are enabled
*/
- String doChangePersonalData ();
+ boolean isPublicUserProfileEnabled ();
}