Package org.h2.engine
Class RightOwner
- java.lang.Object
-
- org.h2.engine.DbObject
-
- org.h2.engine.RightOwner
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.HashMap<DbObject,Right>
grantedRights
The map of granted rights.private java.util.HashMap<Role,Right>
grantedRoles
The map of granted roles.-
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, java.lang.String name, int traceModuleId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.(package private) boolean
isSchemaRightGrantedRecursive(Schema schema)
Checks if a schema owner right is already granted to this object or to objects that were granted to this object.(package private) boolean
isTableRightGrantedRecursive(Table table, int rightMask)
Checks if a right is already granted to this object or to objects that were granted to this object.void
rename(java.lang.String newName)
Rename the object.(package private) void
revokeRight(DbObject object)
Revoke the right for the given object (table or schema).(package private) void
revokeRole(Role role)
Remove the right for the given role.void
revokeTemporaryRightsOnRoles()
Remove all the temporary rights granted on roles-
Methods inherited from class org.h2.engine.DbObject
checkRename, getChildren, getComment, getCreateSQL, getCreateSQLForCopy, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, getSQL, getSQL, getType, invalidate, isTemporary, isValid, removeChildrenAndResources, 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 Detail
-
RightOwner
protected RightOwner(Database database, int id, java.lang.String name, int traceModuleId)
-
-
Method Detail
-
rename
public void rename(java.lang.String newName)
Description copied from class:DbObject
Rename the object.
-
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
-
isTableRightGrantedRecursive
final boolean isTableRightGrantedRecursive(Table table, int rightMask)
Checks if a right is already granted to this object or to objects that were granted to this object. The rights of schemas will be valid for every each table in the related schema. The ALTER ANY SCHEMA right gives all rights to all tables.- Parameters:
table
- the table to checkrightMask
- the right mask to check- Returns:
- true if the right was already granted
-
isSchemaRightGrantedRecursive
final boolean isSchemaRightGrantedRecursive(Schema schema)
Checks if a schema owner right is already granted to this object or to objects that were granted to this object. The ALTER ANY SCHEMA right gives rights to all schemas.- Parameters:
schema
- the schema to check, ornull
to check for ALTER ANY SCHEMA right only- Returns:
- true if the right was already 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
-
revokeRight
void revokeRight(DbObject object)
Revoke the right for the given object (table or schema).- Parameters:
object
- the object
-
grantRole
public void grantRole(Role role, Right right)
Grant a role to this object.- Parameters:
role
- the roleright
- the right to grant
-
revokeRole
void revokeRole(Role role)
Remove the right for the given role.- Parameters:
role
- the role to revoke
-
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
-
-