Package org.h2.engine

# Class RightOwner

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

All Implemented Interfaces:
  `HasSQL`

Direct Known Subclasses:
  `Role`, `User`

public abstract class RightOwner extends DbObject
A right owner (sometimes called principal).

## 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
Modifier
Constructor
Description
`protected`
`RightOwner(Database database, int id, String name, int traceModuleId)`

## Method Summary

Modifier and Type
Method
Description
`final void`
`checkOwnsNoSchemas()`
Check that this right owner does not own any schema.
`Right`
`getRightForObject(DbObject object)`
Get the 'grant schema' right of this object.
`Right`
`getRightForRole(Role role)`
Get the 'grant role' right of this object.
`void`
`grantRight(DbObject object, Right right)`
Grant a right for the given table.
`void`
`grantRole(Role role, Right right)`
Grant a role to this object.
`boolean`
`isRoleGranted(Role grantedRole)`
Check if a role has been granted for this right owner.
`void`
`rename(String newName)`
Rename the object.
`void`
`revokeTemporaryRightsOnRoles()`
Remove all the temporary rights granted on roles

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

`checkRename, equals, getChildren, getComment, getCreateSQL, getCreateSQLForCopy, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, getSQL, getSQL, getType, hashCode, invalidate, isTemporary, isValid, removeChildrenAndResources, 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

### RightOwner

protected RightOwner(Database database, int id, String name, int traceModuleId)

## Method Details

### rename

public void rename(String newName)
Description copied from class: `DbObject`
Rename the object.

Overrides:
  `rename` in class `DbObject`
Parameters:
  `newName` - the new name

### isRoleGranted

public boolean isRoleGranted(Role grantedRole)
Check if a role has been granted for this right owner.

Parameters:
  `grantedRole` - the role
Returns:
  true if the role has been granted

### grantRight

public void grantRight(DbObject object, Right right)
Grant a right for the given table. Only one right object per table is supported.

Parameters:
  `object` - the object (table or schema)
  `right` - the right

### grantRole

public void grantRole(Role role, Right right)
Grant a role to this object.

Parameters:
  `role` - the role
  `right` - the right to grant

### revokeTemporaryRightsOnRoles

public void revokeTemporaryRightsOnRoles()
Remove all the temporary rights granted on roles

### getRightForObject

public Right getRightForObject(DbObject object)
Get the 'grant schema' right of this object.

Parameters:
  `object` - the granted object (table or schema)
Returns:
  the right or null if the right has not been granted

### getRightForRole

public Right getRightForRole(Role role)
Get the 'grant role' right of this object.

Parameters:
  `role` - the granted role
Returns:
  the right or null if the right has not been granted

### checkOwnsNoSchemas

public final void checkOwnsNoSchemas()
Check that this right owner does not own any schema. An exception is thrown if it owns one or more schemas.

Throws:
  `DbException` - if this right owner owns a schema