Package org.firebirdsql.management

## Interface UserManager

All Superinterfaces:
  `AttachmentProperties`, `BaseProperties`, `ServiceConnectionProperties`, `ServiceManager`

All Known Implementing Classes:
  `FBUserManager`

    public interface UserManager
    extends ServiceManager

The base Firebird Service API functionality.

Author:
  Steven Jardine

### Method Summary

All Methods Instance Methods Abstract Methods
`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 interface org.firebirdsql.jaybird.props.AttachmentProperties

`getAuthPlugins, getCharSet, getConnectTimeout, getDbCryptConfig, getEncoding, getParallelWorkers, getPassword, getPortNumber, getProcessId, getProcessName, getRoleName, getServerName, getSocketBufferSize, getSoTimeout, getType, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setConnectTimeout, setDbCryptConfig, setEncoding, setParallelWorkers, 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`

### Method Detail

#### add

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

Add a user to the Firebird Security Database.

Parameters:
  `user` - to the Firebird Security Database.
Throws:
  `java.sql.SQLException`
  `java.io.IOException`

#### delete

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

Delete a user to the Firebird Security Database.

Parameters:
  `user` - to the Firebird Security Database.
Throws:
  `java.sql.SQLException`
  `java.io.IOException`

#### update

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

Update a user to the Firebird Security Database.

Parameters:
  `user` - to the Firebird Security Database.
Throws:
  `java.sql.SQLException`
  `java.io.IOException`

#### getUsers

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

Return all valid users in the Firebird Security Database.

Returns:
  all valid users in the Firebird Security Database.
Throws:
  `java.sql.SQLException`
  `java.io.IOException`

#### setSecurityDatabase

    void setSecurityDatabase​(java.lang.String securityDatabase)

Sets the security database and therefore overrides the per default used security database (e.g. security2.fdb)

Supported since Firebird 2.1

Parameters:
  `securityDatabase` - name/path of securityDatabase

#### setAdminRoleMapping

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

Sets AUTO ADMIN MAPPING for role RDB$ADMIN in security database

Throws:
  `java.sql.SQLException`
  `java.io.IOException`

#### dropAdminRoleMapping

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

Drops AUTO ADMIN MAPPING from role RDB$ADMIN in security database

Throws:
  `java.sql.SQLException`
  `java.io.IOException`