> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# hasPermission

<div className="kinetica-javadoc">
  <ul className="member-list">
    <li>
      <div className="section detail" id="hasPermission(com.gpudb.protocol.HasPermissionRequest)">
        <h3>hasPermission</h3>
        <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/protocol/HasPermissionResponse" title="class in com.gpudb.protocol">HasPermissionResponse</a></span> <span className="element-name">hasPermission</span><wbr /><span className="parameters">(<a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest" title="class in com.gpudb.protocol">HasPermissionRequest</a> request)</span> throws <span className="exceptions"><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></span></div>
        <div className="block">Checks if the specified user has the specified permission on the specified object.</div>

        <div className="dl notes">
          <div className="dt">Parameters:</div>
          <div className="dd"><code>request</code> - <a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest" title="class in com.gpudb.protocol"><code>Request</code></a> object containing the parameters for the operation.</div>
          <div className="dt">Returns:</div>
          <div className="dd"><a href="/content/api/java/com/gpudb/protocol/HasPermissionResponse" title="class in com.gpudb.protocol"><code>Response</code></a> object containing the results of the operation.</div>
          <div className="dt">Throws:</div>
          <div className="dd"><code><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></code> - if an error occurs during the operation.</div>
        </div>
      </div>
    </li>

    <li>
      <div className="section detail" id="hasPermission(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Map)">
        <h3>hasPermission</h3>
        <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/protocol/HasPermissionResponse" title="class in com.gpudb.protocol">HasPermissionResponse</a></span> <span className="element-name">hasPermission</span><wbr /><span className="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> principal, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> object, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> objectType, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a> permission, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link">Map</a>\<<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>,<wbr /><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" className="external-link">String</a>> options)</span> throws <span className="exceptions"><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></span></div>
        <div className="block">Checks if the specified user has the specified permission on the specified object.</div>

        <div className="dl notes">
          <div className="dt">Parameters:</div>
          <div className="dd"><code>principal</code> - 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 ''.</div>
          <div className="dd"><code>object</code> - Name of object to check for the requested permission. It is recommended to use a fully-qualified name when possible.</div>

          <div className="dd">
            <code>objectType</code> - The type of object being checked. Supported values:

            <ul>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#CATALOG"><code>CATALOG</code></a>: External Catalog </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#CONTEXT"><code>CONTEXT</code></a>: Context </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#CREDENTIAL"><code>CREDENTIAL</code></a>: Credential </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#DATASINK"><code>DATASINK</code></a>: Data Sink </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#DATASOURCE"><code>DATASOURCE</code></a>: Data Source </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#DIRECTORY"><code>DIRECTORY</code></a>: KiFS File Directory </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#GRAPH"><code>GRAPH</code></a>: A Graph object </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#PROC"><code>PROC</code></a>: UDF Procedure </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#SCHEMA"><code>SCHEMA</code></a>: Schema </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#SQL_PROC"><code>SQL\_PROC</code></a>: SQL Procedure </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#SYSTEM"><code>SYSTEM</code></a>: System-level access </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#TABLE"><code>TABLE</code></a>: Database Table </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.ObjectType#TABLE_MONITOR"><code>TABLE\_MONITOR</code></a>: Table monitor </li>
            </ul>
          </div>

          <div className="dd">
            <code>permission</code> - Permission to check for. Supported values:

            <ul>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#ADMIN"><code>ADMIN</code></a>: Full read/write and administrative access on the object. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#CONNECT"><code>CONNECT</code></a>: Connect access on the given data source or data sink. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#CREATE"><code>CREATE</code></a>: Ability to create new objects of this type. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#DELETE"><code>DELETE</code></a>: Delete rows from tables. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#EXECUTE"><code>EXECUTE</code></a>: Ability to Execute the Procedure object. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#INSERT"><code>INSERT</code></a>: Insert access to tables. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#MONITOR"><code>MONITOR</code></a>: Monitor logs and statistics. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#READ"><code>READ</code></a>: Ability to read, list and use the object. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#SEND_ALERT"><code>SEND\_ALERT</code></a>: Ability to send system alerts. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#UPDATE"><code>UPDATE</code></a>: Update access to the table. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#USER_ADMIN"><code>USER\_ADMIN</code></a>: Access to administer users and roles that do not have system\_admin permission. </li>
              <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Permission#WRITE"><code>WRITE</code></a>: Access to write, change and delete objects. </li>
            </ul>
          </div>

          <div className="dd">
            <code>options</code> - Optional parameters.

            <ul>
              <li>
                <a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Options#NO_ERROR_IF_NOT_EXISTS"><code>NO\_ERROR\_IF\_NOT\_EXISTS</code></a>: If <a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Options#FALSE"><code>FALSE</code></a> will return an error if the provided <code>object</code> does not exist or is blank. If <a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Options#TRUE"><code>TRUE</code></a> then it will return <a href="/content/api/java/com/gpudb/protocol/HasPermissionResponse.HasPermission#FALSE"><code>FALSE</code></a> for <a href="/content/api/java/com/gpudb/protocol/HasPermissionResponse#getHasPermission()"><code>hasPermission</code></a>. Supported values:

                <ul>
                  <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Options#TRUE"><code>TRUE</code></a> </li>
                  <li><a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Options#FALSE"><code>FALSE</code></a> </li>
                </ul>

                The default value is <a href="/content/api/java/com/gpudb/protocol/HasPermissionRequest.Options#FALSE"><code>FALSE</code></a>.
              </li>
            </ul>

            The default value is an empty <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" className="external-link"><code>Map</code></a>.
          </div>

          <div className="dt">Returns:</div>
          <div className="dd"><a href="/content/api/java/com/gpudb/protocol/HasPermissionResponse" title="class in com.gpudb.protocol"><code>Response</code></a> object containing the results of the operation.</div>
          <div className="dt">Throws:</div>
          <div className="dd"><code><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></code> - if an error occurs during the operation.</div>
        </div>
      </div>
    </li>
  </ul>
</div>
