ttomcat-1778514358873.zip-extract/_dependencies/maven/com.h2database_h2-2.2.220/org/h2/engine/Right.java

Path
ttomcat-1778514358873.zip-extract/_dependencies/maven/com.h2database_h2-2.2.220/org/h2/engine/Right.java
Status
scanned
Type
file
Name
Right.java
Extension
.java
Programming language
Java
Mime type
text/x-java
File type
Java source, ASCII text
Tag

      
    
Rootfs path

      
    
Size
5343 (5.2 KB)
MD5
4911858f74e3257d5c2548055a4caeb3
SHA1
11f4931976c272e1510966a7e38d8fb6fe368baf
SHA256
3eaa74096ae7622cb2dd3e460d2b1ce212d2187cc83af1b113669dba8e6df69e
SHA512

      
    
SHA1_git
84c66c86b100d3ac1e8341dacc1b20f1cdc94ccc
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
Right.java | 5.2 KB |

/* * Copyright 2004-2023 H2 Group. Multiple-Licensed under the MPL 2.0, * and the EPL 1.0 (https://h2database.com/html/license.html). * Initial Developer: H2 Group */ package org.h2.engine; import org.h2.message.DbException; import org.h2.message.Trace; import org.h2.schema.Schema; import org.h2.table.Table; /** * An access right. Rights are regular database objects, but have generated * names. */ public final class Right extends DbObject { /** * The right bit mask that means: selecting from a table is allowed. */ public static final int SELECT = 1; /** * The right bit mask that means: deleting rows from a table is allowed. */ public static final int DELETE = 2; /** * The right bit mask that means: inserting rows into a table is allowed. */ public static final int INSERT = 4; /** * The right bit mask that means: updating data is allowed. */ public static final int UPDATE = 8; /** * The right bit mask that means: create/alter/drop schema is allowed. */ public static final int ALTER_ANY_SCHEMA = 16; /** * The right bit mask that means: user is a schema owner. This mask isn't * used in GRANT / REVOKE statements. */ public static final int SCHEMA_OWNER = 32; /** * The right bit mask that means: select, insert, update, delete, and update * for this object is allowed. */ public static final int ALL = SELECT | DELETE | INSERT | UPDATE; /** * To whom the right is granted. */ private RightOwner grantee; /** * The granted role, or null if a right was granted. */ private Role grantedRole; /** * The granted right. */ private int grantedRight; /** * The object. If the right is global, this is null. */ private DbObject grantedObject; public Right(Database db, int id, RightOwner grantee, Role grantedRole) { super(db, id, "RIGHT_" + id, Trace.USER); this.grantee = grantee; this.grantedRole = grantedRole; } public Right(Database db, int id, RightOwner grantee, int grantedRight, DbObject grantedObject) { super(db, id, Integer.toString(id), Trace.USER); this.grantee = grantee; this.grantedRight = grantedRight; this.grantedObject = grantedObject; } private static boolean appendRight(StringBuilder buff, int right, int mask, String name, boolean comma) { if ((right & mask) != 0) { if (comma) { buff.append(", "); } buff.append(name); return true; } return comma; } public String getRights() { StringBuilder buff = new StringBuilder(); if (grantedRight == ALL) { buff.append("ALL"); } else { boolean comma = false; comma = appendRight(buff, grantedRight, SELECT, "SELECT", comma); comma = appendRight(buff, grantedRight, DELETE, "DELETE", comma); comma = appendRight(buff, grantedRight, INSERT, "INSERT", comma); comma = appendRight(buff, grantedRight, UPDATE, "UPDATE", comma); appendRight(buff, grantedRight, ALTER_ANY_SCHEMA, "ALTER ANY SCHEMA", comma); } return buff.toString(); } public Role getGrantedRole() { return grantedRole; } public DbObject getGrantedObject() { return grantedObject; } public DbObject getGrantee() { return grantee; } @Override public String getCreateSQLForCopy(Table table, String quotedName) { return getCreateSQLForCopy(table); } private String getCreateSQLForCopy(DbObject object) { StringBuilder builder = new StringBuilder(); builder.append("GRANT "); if (grantedRole != null) { grantedRole.getSQL(builder, DEFAULT_SQL_FLAGS); } else { builder.append(getRights()); if (object != null) { if (object instanceof Schema) { builder.append(" ON SCHEMA "); object.getSQL(builder, DEFAULT_SQL_FLAGS); } else if (object instanceof Table) { builder.append(" ON "); object.getSQL(builder, DEFAULT_SQL_FLAGS); } } } builder.append(" TO "); grantee.getSQL(builder, DEFAULT_SQL_FLAGS); return builder.toString(); } @Override public String getCreateSQL() { return getCreateSQLForCopy(grantedObject); } @Override public int getType() { return DbObject.RIGHT; } @Override public void removeChildrenAndResources(SessionLocal session) { if (grantedRole != null) { grantee.revokeRole(grantedRole); } else { grantee.revokeRight(grantedObject); } database.removeMeta(session, getId()); grantedRole = null; grantedObject = null; grantee = null; invalidate(); } @Override public void checkRename() { throw DbException.getInternalError(); } public void setRightMask(int rightMask) { grantedRight = rightMask; } public int getRightMask() { return grantedRight; } }
Detected license expression
mpl-2.0 AND epl-1.0
Detected license expression (SPDX)
MPL-2.0 AND EPL-1.0
Percentage of license text
1.72
Copyrights
- end_line: 2
  copyright: Copyright 2004-2023 H2 Group. Multiple-Licensed
  start_line: 2
Holders
- holder: H2 Group. Multiple-Licensed
  end_line: 2
  start_line: 2
Authors

      
    
License detections License expression License expression SPDX
mpl_2_0_and_epl_1_0-796bf8d7-f485-3520-923d-e6a4b1ecd2f3 mpl-2.0 AND epl-1.0 MPL-2.0 AND EPL-1.0
URL Start line End line
https://h2database.com/html/license.html 3 3
Package URL License Primary language
pkg:osgi/com.h2database.source@2.2.220