Package org.h2.engine

# Class Role

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

All Implemented Interfaces:
  `HasSQL`

public final class Role extends RightOwner
Represents a role. Roles can be granted to users, and to other roles.

## 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
`Role(Database database, int id, String roleName, boolean system)`

## Method Summary

Modifier and Type
Method
Description
`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 ifNotExists)`
Get the CREATE SQL statement for this object.
`int`
`getType()`
Get the object type.
`void`
`removeChildrenAndResources(SessionLocal session)`
Delete all dependent children objects and resources of this object.

### 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, equals, getComment, getCreateSQLForCopy, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, getSQL, getSQL, hashCode, invalidate, isTemporary, isValid, setComment, setModified, setObjectName, setTemporary, toString`

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

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

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

`getTraceSQL`

## Constructor Details

### Role

public Role(Database database, int id, String roleName, boolean system)

## Method Details

### getCreateSQL

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

Parameters:
  `ifNotExists` - true if IF NOT EXISTS should be used
Returns:
  the SQL statement

### 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

### 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