de.esprit.netsuite.server.auth

## Interface UserManager<S extends ServerContext>

- All Superinterfaces:
    PermissionControlled, UserAuthenticator
  All Known Implementing Classes:
    AbstractUserManager, DBUserManager, DefaultUserManager

      public interface UserManager<S extends ServerContext>
      extends UserAuthenticator, PermissionControlled

  This interface defines the methods for a UserManager implementation.
  Author:
    Rainer Buesch

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `DEFAULT_ADMIN_USERNAME`
    `static java.lang.String` | `DEFAULT_PASSWORD_ADMIN`
    `static java.lang.String` | `DEFAULT_PASSWORD_ESPRIT`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `deleteUser(SessionId caller, User user)`
    `User` | `findUserById(int uid)`
    `User` | `findUserByName(java.lang.String userName)`
    `int` | `getUserCount()`
    `UserId[]` | `getUserIds()`
    `User[]` | `getUsers(SessionId sessionId)`
    `void` | `init()` Loads all users from the underlying persistent store
    `User` | `insertUser(SessionId caller, User user)` Note that the underlying `UserManager` implementation will return a server specific user subclass.
    `boolean` | `isEmptyPasswordAllowed()` Tells whether a user is allowed to have no password
    `void` | `updateUser(SessionId caller, User user)`

    - ### Methods inherited from interface de.esprit.netsuite.server.auth.user.UserAuthenticator

      `changePassword, findUserForLogin, resetPassword, setDefaultUserPassword`

    - ### Methods inherited from interface de.esprit.netsuite.server.permission.PermissionControlled

      `getPermissionDefinition`

- - ### Field Detail

    - #### DEFAULT_ADMIN_USERNAME

          static final java.lang.String DEFAULT_ADMIN_USERNAME

      See Also:
        Constant Field Values

    - #### DEFAULT_PASSWORD_ADMIN

          static final java.lang.String DEFAULT_PASSWORD_ADMIN

      See Also:
        Constant Field Values

    - #### DEFAULT_PASSWORD_ESPRIT

          static final java.lang.String DEFAULT_PASSWORD_ESPRIT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### init

          void init()
                    throws java.lang.Exception

      Loads all users from the underlying persistent store
      Throws:
        `java.lang.Exception`

    - #### getUserCount

          int getUserCount()

    - #### getUsers

          User[] getUsers(SessionId sessionId)
                          throws PermissionException

      Throws:
        `PermissionException`

    - #### getUserIds

          UserId[] getUserIds()

    - #### findUserByName

          User findUserByName(java.lang.String userName)

    - #### findUserById

          User findUserById(int uid)

    - #### insertUser

          User insertUser(SessionId caller,
                        User user)
                          throws java.lang.Exception

      Note that the underlying `UserManager` implementation will return a server specific user subclass.
      Throws:
        `java.lang.Exception`

    - #### updateUser

          void updateUser(SessionId caller,
                        User user)
                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### deleteUser

          void deleteUser(SessionId caller,
                        User user)
                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### isEmptyPasswordAllowed

          boolean isEmptyPasswordAllowed()

      Tells whether a user is allowed to have no password

Copyright © 2014 EsprIT-Systems. All Rights Reserved.