Package org.firebirdsql.management

## Class FBUserManager

- java.lang.Object
- - org.firebirdsql.management.FBServiceManager
  - - org.firebirdsql.management.FBUserManager

- All Implemented Interfaces:
    `AttachmentProperties`, `BaseProperties`, `ServiceConnectionProperties`, `ServiceManager`, `UserManager`

      public class FBUserManager
      extends FBServiceManager
      implements UserManager

  Implements the display/add/delete/modify user functionality of the Firebird Services API.
  Author:
    Steven Jardine, Mark Rotteveel

- - ### Field Summary

    - ### Fields inherited from class org.firebirdsql.management.FBServiceManager

      `BUFFER_SIZE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FBUserManager()` | Create a new instance of `FBMaintenanceManager` based on the default GDSType.
    `FBUserManager​(java.lang.String gdsType)` | Create a new instance of `FBMaintenanceManager` based on a given GDSType.
    `FBUserManager​(GDSType gdsType)` | Create a new instance of `FBMaintenanceManager` based on a given GDSType.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(User user)` | Add a user to the Firebird Security Database.
    `void` | `delete​(User user)` | Delete a user to the Firebird Security Database.
    `void` | `dropAdminRoleMapping()` | Drops AUTO ADMIN MAPPING from role RDB$ADMIN in security database
    `java.util.Map<java.lang.String,​User>` | `getUsers()` | Return all valid users in the Firebird Security Database.
    `void` | `setAdminRoleMapping()` | Sets AUTO ADMIN MAPPING for role RDB$ADMIN in security database
    `void` | `setSecurityDatabase​(java.lang.String securityDatabase)` | Sets the security database and therefore overrides the per default used security database (e.g.
    `void` | `update​(User user)` | Update a user to the Firebird Security Database.

    - ### Methods inherited from class org.firebirdsql.management.FBServiceManager

      `attachDatabase, attachServiceManager, connectionPropertyValues, createRequestBuffer, executeServicesOperation, executeServicesOperation, getAuthPlugins, getBooleanProperty, getCharSet, getDatabase, getDbCryptConfig, getExpectedDb, getHost, getIntProperty, getLogger, getPassword, getPort, getPortNumber, getProperty, getServerName, getServerVersion, getServiceName, getUser, getWireCrypt, getWireCryptAsEnum, isWireCompression, queueService, setAuthPlugins, setBooleanProperty, setCharSet, setDatabase, setDbCryptConfig, setExpectedDb, setHost, setIntProperty, setLogger, setPassword, setPort, setPortNumber, setProperty, setServerName, setServiceName, setType, setUser, setWireCompression, setWireCryptAsEnum`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.firebirdsql.jaybird.props.AttachmentProperties

      `getAuthPlugins, getCharSet, getConnectTimeout, getDbCryptConfig, getEncoding, getPassword, getPortNumber, getProcessId, getProcessName, getRoleName, getServerName, getSocketBufferSize, getSoTimeout, getType, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setConnectTimeout, setDbCryptConfig, setEncoding, setPassword, setPortNumber, setProcessId, setProcessName, setRoleName, setServerName, setSocketBufferSize, setSoTimeout, setType, setUser, setWireCompression, setWireCrypt`

    - ### Methods inherited from interface org.firebirdsql.jaybird.props.BaseProperties

      `connectionPropertyValues, getBooleanProperty, getBooleanProperty, getIntProperty, getIntProperty, getProperty, getProperty, setBooleanProperty, setIntProperty, setProperty`

    - ### Methods inherited from interface org.firebirdsql.jaybird.props.ServiceConnectionProperties

      `getExpectedDb, getServiceName, setExpectedDb, setServiceName`

    - ### Methods inherited from interface org.firebirdsql.management.ServiceManager

      `getDatabase, getHost, getLogger, getPort, getServerVersion, getWireCryptAsEnum, setDatabase, setHost, setLogger, setPort, setWireCryptAsEnum`

- - ### Constructor Detail

    - #### FBUserManager

          public FBUserManager()

      Create a new instance of `FBMaintenanceManager` based on the default GDSType.

    - #### FBUserManager

          public FBUserManager​(java.lang.String gdsType)

      Create a new instance of `FBMaintenanceManager` based on a given GDSType.
      Parameters:
        `gdsType` - type must be PURE_JAVA, EMBEDDED, or NATIVE

    - #### FBUserManager

          public FBUserManager​(GDSType gdsType)

      Create a new instance of `FBMaintenanceManager` based on a given GDSType.
      Parameters:
        `gdsType` - the GDS implementation type to use

  - ### Method Detail

    - #### add

          public void add​(User user)
                   throws java.sql.SQLException,
                          java.io.IOException

      Description copied from interface: `UserManager`
      Add a user to the Firebird Security Database.
      Specified by:
        `add` in interface `UserManager`
      Parameters:
        `user` - to the Firebird Security Database.
      Throws:
        `java.sql.SQLException`
        `java.io.IOException`

    - #### delete

          public void delete​(User user)
                      throws java.sql.SQLException,
                             java.io.IOException

      Description copied from interface: `UserManager`
      Delete a user to the Firebird Security Database.
      Specified by:
        `delete` in interface `UserManager`
      Parameters:
        `user` - to the Firebird Security Database.
      Throws:
        `java.sql.SQLException`
        `java.io.IOException`

    - #### update

          public void update​(User user)
                      throws java.sql.SQLException,
                             java.io.IOException

      Description copied from interface: `UserManager`
      Update a user to the Firebird Security Database.
      Specified by:
        `update` in interface `UserManager`
      Parameters:
        `user` - to the Firebird Security Database.
      Throws:
        `java.sql.SQLException`
        `java.io.IOException`

    - #### getUsers

          public java.util.Map<java.lang.String,​User> getUsers()
                                                              throws java.sql.SQLException,
                                                                     java.io.IOException

      Description copied from interface: `UserManager`
      Return all valid users in the Firebird Security Database.
      Specified by:
        `getUsers` in interface `UserManager`
      Returns:
        all valid users in the Firebird Security Database.
      Throws:
        `java.sql.SQLException`
        `java.io.IOException`

    - #### setSecurityDatabase

          public void setSecurityDatabase​(java.lang.String securityDatabase)

      Description copied from interface: `UserManager`
      Sets the security database and therefore overrides the per default used security database (e.g. security2.fdb)

      Supported since Firebird 2.1
      Specified by:
        `setSecurityDatabase` in interface `UserManager`
      Parameters:
        `securityDatabase` - name/path of securityDatabase

    - #### setAdminRoleMapping

          public void setAdminRoleMapping()
                                   throws java.sql.SQLException,
                                          java.io.IOException

      Description copied from interface: `UserManager`
      Sets AUTO ADMIN MAPPING for role RDB$ADMIN in security database
      Specified by:
        `setAdminRoleMapping` in interface `UserManager`
      Throws:
        `java.sql.SQLException`
        `java.io.IOException`

    - #### dropAdminRoleMapping

          public void dropAdminRoleMapping()
                                    throws java.sql.SQLException,
                                           java.io.IOException

      Description copied from interface: `UserManager`
      Drops AUTO ADMIN MAPPING from role RDB$ADMIN in security database
      Specified by:
        `dropAdminRoleMapping` in interface `UserManager`
      Throws:
        `java.sql.SQLException`
        `java.io.IOException`