package users;

import java.io.Serializable;

/**
  * A factory that can create User objects.
  *
  * @see User
  * @see UserManager#createUser
  *
  * @author Steffen Zschaler
  * @version 2.0 05/05/1999
  * @since v2.0
  */
public class UserCreator extends Object implements Serializable {

  /**
    * Create and return a new <code>User</code> object for the given name.
    *
    * <p>The default implementation creates and returns a direct instance of <code>User</code>.</p>
    *
    * @param sName the name of the user to be created.
    *
    * @return the new User object. Must not be <code>null</code>.
    *
    * @override Sometimes Override this method if you want the {@link UserManager} to
    * {@link UserManager#createUser create} instances of subclasses of {@link User} rather than direct
    * instances.
    */
  public User createUser (String sName) {
    return new User (sName);
  }
}