Class PermDescriptor

  • All Implemented Interfaces:
    java.lang.Cloneable, Dependable, Provider

    public class PermDescriptor
    extends PermissionsDescriptor
    implements Provider
    This class describes rows in the SYS.SYSPERMS system table, which keeps track of the permissions that have been granted but not revoked.
    • Field Detail

      • objectType

        private java.lang.String objectType
      • permObjectId

        private UUID permObjectId
      • permission

        private java.lang.String permission
      • grantable

        private boolean grantable
    • Constructor Detail

      • PermDescriptor

        public PermDescriptor​(DataDictionary dataDictionary,
                              UUID permUUID,
                              java.lang.String objectType,
                              UUID permObjectId,
                              java.lang.String permission,
                              java.lang.String grantor,
                              java.lang.String grantee,
                              boolean isGrantable)
        Constructor
        Parameters:
        dataDictionary - data dictionary
        permUUID - unique identification in time and space of this perm descriptor
        objectType - E.g., SEQUENCE_TYPE
        permObjectId - Unique id of the object being protected
        permission - E.g., USAGE_PRIV
        grantor - Authorization id which confers the privilege
        grantee - Authorization id which receives the privilege
        isGrantable - True if the privilege can be granted onwards
    • Method Detail

      • getObjectType

        public java.lang.String getObjectType()
      • getPermObjectId

        public UUID getPermObjectId()
      • getPermission

        public java.lang.String getPermission()
      • isGrantable

        public boolean isGrantable()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
        Returns:
        true iff the key part of this perm descriptor equals the key part of another perm descriptor.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        the hashCode for the key part of this permissions descriptor
      • checkOwner

        public boolean checkOwner​(java.lang.String authorizationId)
                           throws StandardException
        Description copied from class: PermissionsDescriptor
        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
        Specified by:
        checkOwner in class PermissionsDescriptor
        Returns:
        boolean If passed authorization id is owner of the table
        Throws:
        StandardException
        See Also:
        PermissionsDescriptor.checkOwner(java.lang.String)
      • getObjectName

        public java.lang.String getObjectName()
        Return the name of this Provider. (Useful for errors.)
        Specified by:
        getObjectName in interface Dependable
        Returns:
        String The name of this provider.
      • getClassType

        public java.lang.String getClassType()
        Get the provider's type.
        Specified by:
        getClassType in interface Dependable
        Returns:
        char The provider's type.