/*
- * Copyright (C) 2015 Roland Haeder
+ * Copyright (C) 2016 Roland Haeder
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
package org.mxchange.jusercore.model.user;
import java.io.Serializable;
+import java.util.List;
import javax.ejb.Remote;
-import org.mxchange.jusercore.exceptions.EmailAddressAlreadyRegisteredException;
-import org.mxchange.jusercore.exceptions.UserNameAlreadyRegisteredException;
/**
* An interface for user beans
@Remote
public interface UserSessionBeanRemote extends Serializable {
+ /**
+ * Returns a list with all public and member-visible users. Members are
+ * logged-in users. ;-)
+ * <p>
+ * @return A list of public and member-visible users
+ */
+ List<User> allMemberPublicVisibleUsers ();
+
+ /**
+ * Returns a list of all public user profiles
+ * <p>
+ * @return A list of all public user profiles
+ */
+ List<User> allPublicUsers ();
+
/**
* Fills given user instance with all available data
* <p>
* @param user Initial User instance
+ * <p>
* @return Prepared User instance
*/
- public User fillUserData (final User user);
+ User fillUserData (final User user);
+
+ /**
+ * Some "getter" for a full user name list
+ * <p>
+ * @return User name list
+ */
+ List<String> getUserNameList ();
/**
- * Checks if the the given user instance is already registered
+ * Some "getter" for a full email address list
+ * <p>
+ * @return User name list
+ */
+ List<String> getEmailAddressList ();
+
+ /**
+ * Checks if given user id exists
+ * <p>
+ * @param userId User id to check
+ * <p>
+ * @return Whether the user id exists
+ */
+ boolean ifUserIdExists (final Long userId);
+
+ /**
+ * Checks if the the given user's name is already registered
* <p>
* @param user User instance
+ * <p>
* @return Whether the user is already registered
*/
- public boolean isReqistered (final User user);
+ boolean isUserNameReqistered (final User user);
/**
- * Registers the user.
+ * Checks if the the given user's email address is already registered
* <p>
- * @param user Initial customer instance
- * @return Prepared Customer instance
- * @throws org.mxchange.jusercore.exceptions.UserNameAlreadyRegisteredException If the user's user name is already registered.
- * @throws org.mxchange.jusercore.exceptions.EmailAddressAlreadyRegisteredException If the user's email address is already registered.
+ * @param user User instance
+ * <p>
+ * @return Whether the user is already registered
*/
- public User registerUser (final User user) throws UserNameAlreadyRegisteredException, EmailAddressAlreadyRegisteredException;
+ boolean isEmailAddressReqistered (final User user);
+
+ /**
+ * Updates given user instance in database
+ * <p>
+ * @param user User instance to update
+ */
+ void updateUserPersonalData (final User user);
+
}