Class HasPermissionRequest

  • All Implemented Interfaces:
    org.apache.avro.generic.GenericContainer, org.apache.avro.generic.IndexedRecord

    public class HasPermissionRequest
    extends Object
    implements org.apache.avro.generic.IndexedRecord
    A set of parameters for GPUdb.hasPermission.

    Checks if the specified user has the specified permission on the specified object.

    • Constructor Detail

      • HasPermissionRequest

        public HasPermissionRequest()
        Constructs a HasPermissionRequest object with default parameters.
      • HasPermissionRequest

        public HasPermissionRequest​(String principal,
                                    String object,
                                    String objectType,
                                    String permission,
                                    Map<String,​String> options)
        Constructs a HasPermissionRequest object with the specified parameters.
        Parameters:
        principal - Name of the user for which the permission is being checked. Must be an existing user. If blank, will use the current user. The default value is ''.
        object - Name of object to check for the requested permission. It is recommended to use a fully-qualified name when possible.
        objectType - The type of object being checked. Supported values:
        permission - Permission to check for. Supported values:
        • ADMIN: Full read/write and administrative access on the object.
        • CONNECT: Connect access on the given data source or data sink.
        • CREATE: Ability to create new objects of this type.
        • DELETE: Delete rows from tables.
        • EXECUTE: Ability to Execute the Procedure object.
        • INSERT: Insert access to tables.
        • MONITOR: Monitor logs and statistics.
        • READ: Ability to read, list and use the object.
        • SEND_ALERT: Ability to send system alerts.
        • UPDATE: Update access to the table.
        • USER_ADMIN: Access to administer users and roles that do not have system_admin permission.
        • WRITE: Access to write, change and delete objects.
        options - Optional parameters. The default value is an empty Map.
    • Method Detail

      • getClassSchema

        public static org.apache.avro.Schema getClassSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Returns:
        The schema for the class.
      • getPrincipal

        public String getPrincipal()
        Name of the user for which the permission is being checked. Must be an existing user. If blank, will use the current user. The default value is ''.
        Returns:
        The current value of principal.
      • setPrincipal

        public HasPermissionRequest setPrincipal​(String principal)
        Name of the user for which the permission is being checked. Must be an existing user. If blank, will use the current user. The default value is ''.
        Parameters:
        principal - The new value for principal.
        Returns:
        this to mimic the builder pattern.
      • getObject

        public String getObject()
        Name of object to check for the requested permission. It is recommended to use a fully-qualified name when possible.
        Returns:
        The current value of object.
      • setObject

        public HasPermissionRequest setObject​(String object)
        Name of object to check for the requested permission. It is recommended to use a fully-qualified name when possible.
        Parameters:
        object - The new value for object.
        Returns:
        this to mimic the builder pattern.
      • getPermission

        public String getPermission()
        Permission to check for. Supported values:
        • ADMIN: Full read/write and administrative access on the object.
        • CONNECT: Connect access on the given data source or data sink.
        • CREATE: Ability to create new objects of this type.
        • DELETE: Delete rows from tables.
        • EXECUTE: Ability to Execute the Procedure object.
        • INSERT: Insert access to tables.
        • MONITOR: Monitor logs and statistics.
        • READ: Ability to read, list and use the object.
        • SEND_ALERT: Ability to send system alerts.
        • UPDATE: Update access to the table.
        • USER_ADMIN: Access to administer users and roles that do not have system_admin permission.
        • WRITE: Access to write, change and delete objects.
        Returns:
        The current value of permission.
      • setPermission

        public HasPermissionRequest setPermission​(String permission)
        Permission to check for. Supported values:
        • ADMIN: Full read/write and administrative access on the object.
        • CONNECT: Connect access on the given data source or data sink.
        • CREATE: Ability to create new objects of this type.
        • DELETE: Delete rows from tables.
        • EXECUTE: Ability to Execute the Procedure object.
        • INSERT: Insert access to tables.
        • MONITOR: Monitor logs and statistics.
        • READ: Ability to read, list and use the object.
        • SEND_ALERT: Ability to send system alerts.
        • UPDATE: Update access to the table.
        • USER_ADMIN: Access to administer users and roles that do not have system_admin permission.
        • WRITE: Access to write, change and delete objects.
        Parameters:
        permission - The new value for permission.
        Returns:
        this to mimic the builder pattern.
      • getSchema

        public org.apache.avro.Schema getSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        getSchema in interface org.apache.avro.generic.GenericContainer
        Returns:
        The schema object describing this class.
      • get

        public Object get​(int index)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        get in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to get
        Returns:
        value of the field with the given index.
        Throws:
        IndexOutOfBoundsException
      • put

        public void put​(int index,
                        Object value)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        put in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to set
        value - the value to set
        Throws:
        IndexOutOfBoundsException
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object