All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.novanic.eventservice.service.registry.user.UserManager Maven / Gradle / Ivy

The newest version!
/*
 * GWTEventService
 * Copyright (c) 2011 and beyond, strawbill UG (haftungsbeschr?nkt)
 *
 * This is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 3 of
 * the License, or (at your option) any later version.
 * Other licensing for GWTEventService may also be possible on request.
 * Please view the license.txt of the project for more information.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
package de.novanic.eventservice.service.registry.user;

import java.util.Collection;

/**
 * The UserManager is a container for {@link de.novanic.eventservice.service.registry.user.UserInfo} and provides various
 * methods to manage users. To activate the user timeout recognition, the method {@link UserManager#activateUserActivityScheduler()})
 * must be called. The UserManager can be created with {@link de.novanic.eventservice.service.registry.user.UserManagerFactory#getUserManager(long)})
 * as a singleton.
 *
 * @author sstrohschein
 *         
Date: 03.02.2009 *
Time: 00:20:09 */ public interface UserManager { /** * Creates and adds the {@link de.novanic.eventservice.service.registry.user.UserInfo} for the user id. * @param aUserId id of the user to add * @return created {@link de.novanic.eventservice.service.registry.user.UserInfo} */ UserInfo addUser(String aUserId); /** * Adds the {@link de.novanic.eventservice.service.registry.user.UserInfo} to the UserManager. * @param aUserInfo {@link de.novanic.eventservice.service.registry.user.UserInfo} to add */ void addUser(UserInfo aUserInfo); /** * Removes the {@link de.novanic.eventservice.service.registry.user.UserInfo} for the user id. * @param aUserId user id of the {@link de.novanic.eventservice.service.registry.user.UserInfo} to remove * @return removed {@link de.novanic.eventservice.service.registry.user.UserInfo} */ UserInfo removeUser(String aUserId); /** * Removes the {@link de.novanic.eventservice.service.registry.user.UserInfo}. * @param aUserInfo {@link de.novanic.eventservice.service.registry.user.UserInfo} to remove * @return true if it had an effect, otherwise false */ boolean removeUser(UserInfo aUserInfo); /** * Removes all added {@link UserInfo} objects. */ void removeUsers(); /** * Checks if a user is added to a domain. * @param aUserInfo user * @return true when the user is added to a domain, otherwise false */ boolean isUserContained(UserInfo aUserInfo); /** * Returns the {@link de.novanic.eventservice.service.registry.user.UserInfo} for the user id. It returns NULL when no * {@link de.novanic.eventservice.service.registry.user.UserInfo} for the user id is added. * @param aUserId user id of the requested {@link de.novanic.eventservice.service.registry.user.UserInfo} * @return {@link de.novanic.eventservice.service.registry.user.UserInfo} for the user id. NULL when no * {@link de.novanic.eventservice.service.registry.user.UserInfo} for the user id is added. */ UserInfo getUser(String aUserId); /** * Returns the count of the added {@link de.novanic.eventservice.service.registry.user.UserInfo} objects. * @return count of the added {@link de.novanic.eventservice.service.registry.user.UserInfo} objects */ int getUserCount(); /** * Returns all added {@link de.novanic.eventservice.service.registry.user.UserInfo} objects. It returns an empty * {@link java.util.Collection} when no * {@link de.novanic.eventservice.service.registry.user.UserInfo} objects are added. * @return all added {@link de.novanic.eventservice.service.registry.user.UserInfo} objects */ Collection getUsers(); /** * Activates the {@link UserActivityScheduler} to observe the user activities. When the users/clients should be * removed automatically, please use {@link de.novanic.eventservice.service.registry.user.UserManager#activateUserActivityScheduler(boolean)}. */ void activateUserActivityScheduler(); /** * Activates the {@link UserActivityScheduler} to observe the user activities. * @param isAutoClean when set to true, the users/clients are removed automatically on timeout */ void activateUserActivityScheduler(boolean isAutoClean); /** * Deactivates the {@link UserActivityScheduler}. See {@link UserActivityScheduler} for more information. */ void deactivateUserActivityScheduler(); /** * Returns the {@link UserActivityScheduler} which is instantiated with the UserManager. The method * {@link UserManager#activateUserActivityScheduler()} must be called to start the {@link UserActivityScheduler}. * @return the {@link UserActivityScheduler} which is instantiated with the UserManager */ UserActivityScheduler getUserActivityScheduler(); /** * Resets the UserManager (removes all users, stops the user activity scheduler, etc.) */ void reset(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy