Class PermissionsDescriptor

java.lang.Object
org.apache.derby.iapi.sql.dictionary.TupleDescriptor
org.apache.derby.iapi.sql.dictionary.PermissionsDescriptor
All Implemented Interfaces:
Cloneable, Dependable, Provider
Direct Known Subclasses:
ColPermsDescriptor, PermDescriptor, RoutinePermsDescriptor, TablePermsDescriptor

public abstract class PermissionsDescriptor extends TupleDescriptor implements Cloneable, Provider
This class is used by rows in the SYS.SYSTABLEPERMS, SYS.SYSCOLPERMS, and SYS.SYSROUTINEPERMS system tables.
  • Field Details

    • oid

      protected UUID oid
    • grantee

      private String grantee
    • grantor

      private final String grantor
  • Constructor Details

  • Method Details

    • clone

      public Object clone()
      Overrides:
      clone in class Object
    • getCatalogNumber

      public abstract int getCatalogNumber()
    • keyEquals

      protected boolean keyEquals(PermissionsDescriptor other)
      Returns:
      true iff the key part of this permissions descriptor equals the key part of another permissions descriptor.
    • keyHashCode

      protected int keyHashCode()
      Returns:
      the hashCode for the key part of this permissions descriptor
    • setGrantee

      public void setGrantee(String grantee)
    • getGrantee

      public final String getGrantee()
    • getGrantor

      public final String getGrantor()
    • getUUID

      public UUID getUUID()
      Gets the UUID of the table.
      Returns:
      The UUID of the table.
    • setUUID

      public void setUUID(UUID oid)
      Sets the UUID of the table
      Parameters:
      oid - The UUID of the table to be set in the descriptor
    • checkOwner

      public abstract boolean checkOwner(String authorizationId) throws StandardException
      This method checks if the passed authorization id is same as the owner of the object on which this permission is defined. This method gets called by create view/constraint/trigger to see if this permission needs to be saved in dependency system for the view/constraint/trigger. If the same user is the owner of the the object being accessed and the newly created object, then no need to keep this privilege dependency
      Returns:
      boolean If passed authorization id is owner of the table
      Throws:
      StandardException
    • getObjectID

      public UUID getObjectID()
      Get the provider's UUID
      Specified by:
      getObjectID in interface Dependable
      Returns:
      The provider's UUID
    • isPersistent

      public boolean isPersistent()
      Is this provider persistent? A stored dependency will be required if both the dependent and provider are persistent.
      Specified by:
      isPersistent in interface Dependable
      Overrides:
      isPersistent in class TupleDescriptor
      Returns:
      boolean Whether or not this provider is persistent.