Package org.h2.engine

# Class User

java.lang.Object
org.h2.engine.DbObject
org.h2.engine.RightOwner
org.h2.engine.User

All Implemented Interfaces:
  `HasSQL`

public final class User extends RightOwner
Represents a user object.

## Field Summary

### Fields inherited from class org.h2.engine.DbObject

`AGGREGATE, comment, COMMENT, CONSTANT, CONSTRAINT, database, DOMAIN, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, trace, TRIGGER, USER`

### Fields inherited from interface org.h2.util.HasSQL

`ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS`

## Constructor Summary

Constructors
Constructor
Description
`User(Database database, int id, String userName, boolean systemUser)`

## Method Summary

Modifier and Type
Method
Description
`void`
`checkAdmin()`
Checks if this user has admin rights.
`void`
`checkSchemaAdmin()`
Checks if this user has schema admin rights for every schema.
`void`
`checkSchemaOwner(Schema schema)`
Checks if this user has schema owner rights for the specified schema.
`void`
`checkTableRight(Table table, int rightMask)`
Checks that this user has the given rights for the specified table.
`ArrayList<DbObject>`
`getChildren()`
Get the list of dependent children (for tables, this includes indexes and so on).
`String`
`getCreateSQL()`
Construct the CREATE ...
`String`
`getCreateSQL(boolean password)`
Get the CREATE SQL statement for this object.
`int`
`getType()`
Get the object type.
`boolean`
`hasTableRight(Table table, int rightMask)`
See if this user has the given rights for this database object.
`boolean`
`isAdmin()`
`void`
`removeChildrenAndResources(SessionLocal session)`
Delete all dependent children objects and resources of this object.
`void`
`setAdmin(boolean admin)`
`void`
`setSaltAndHash(byte[] salt, byte[] hash)`
Set the salt and hash of the password for this user.
`void`
`setUserPasswordHash(byte[] userPasswordHash)`
Set the user name password hash.

### Methods inherited from class org.h2.engine.RightOwner

`checkOwnsNoSchemas, getRightForObject, getRightForRole, grantRight, grantRole, isRoleGranted, rename, revokeTemporaryRightsOnRoles`

### Methods inherited from class org.h2.engine.DbObject

`checkRename, getComment, getCreateSQLForCopy, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, getSQL, getSQL, invalidate, isTemporary, isValid, setComment, setModified, setObjectName, setTemporary, toString`

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

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

### Methods inherited from interface org.h2.util.HasSQL

`getTraceSQL`

## Constructor Details

### User

public User(Database database, int id, String userName, boolean systemUser)

## Method Details

### setAdmin

public void setAdmin(boolean admin)

### isAdmin

public boolean isAdmin()

### setSaltAndHash

public void setSaltAndHash(byte[] salt, byte[] hash)
Set the salt and hash of the password for this user.

Parameters:
  `salt` - the salt
  `hash` - the password hash

### setUserPasswordHash

public void setUserPasswordHash(byte[] userPasswordHash)
Set the user name password hash. A random salt is generated as well. The parameter is filled with zeros after use.

Parameters:
  `userPasswordHash` - the user name password hash

### getCreateSQL

public String getCreateSQL()
Description copied from class: `DbObject`
Construct the CREATE ... SQL statement for this object.

Specified by:
  `getCreateSQL` in class `DbObject`
Returns:
  the SQL statement

### getCreateSQL

public String getCreateSQL(boolean password)
Get the CREATE SQL statement for this object.

Parameters:
  `password` - true if the password (actually the salt and hash) should be returned
Returns:
  the SQL statement

### checkAdmin

public void checkAdmin()
Checks if this user has admin rights. An exception is thrown if user doesn't have them.

Throws:
  `DbException` - if this user is not an admin

### checkSchemaAdmin

public void checkSchemaAdmin()
Checks if this user has schema admin rights for every schema. An exception is thrown if user doesn't have them.

Throws:
  `DbException` - if this user is not a schema admin

### checkSchemaOwner

public void checkSchemaOwner(Schema schema)
Checks if this user has schema owner rights for the specified schema. An exception is thrown if user doesn't have them.

Parameters:
  `schema` - the schema
Throws:
  `DbException` - if this user is not a schema owner

### checkTableRight

public void checkTableRight(Table table, int rightMask)
Checks that this user has the given rights for the specified table.

Parameters:
  `table` - the table
  `rightMask` - the rights required
Throws:
  `DbException` - if this user does not have the required rights

### hasTableRight

public boolean hasTableRight(Table table, int rightMask)
See if this user has the given rights for this database object.

Parameters:
  `table` - the database object, or null for schema-only check
  `rightMask` - the rights required
Returns:
  true if the user has the rights

### getType

public int getType()
Description copied from class: `DbObject`
Get the object type.

Specified by:
  `getType` in class `DbObject`
Returns:
  the object type

### getChildren

public ArrayList<DbObject> getChildren()
Description copied from class: `DbObject`
Get the list of dependent children (for tables, this includes indexes and so on).

Overrides:
  `getChildren` in class `DbObject`
Returns:
  the list of children, or `null`

### removeChildrenAndResources

public void removeChildrenAndResources(SessionLocal session)
Description copied from class: `DbObject`
Delete all dependent children objects and resources of this object.

Specified by:
  `removeChildrenAndResources` in class `DbObject`
Parameters:
  `session` - the session