IResource (apache-cassandra API)
Date: 2018-02-12

org.apache.cassandra.auth

## Interface IResource

- All Known Implementing Classes:
    DataResource, FunctionResource, RoleResource

      public interface IResource

  The interface at the core of Cassandra authorization. Represents a resource in the hierarchy. Currently just one resource type is supported by Cassandra
  See Also:
    `DataResource`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Set<Permission>` | `applicablePermissions()` Returns the set of Permissions that may be applied to this resource Certain permissions are not applicable to particular types of resources.
    `boolean` | `exists()`
    `java.lang.String` | `getName()`
    `IResource` | `getParent()` Gets next resource in the hierarchy.
    `boolean` | `hasParent()` Indicates whether or not this resource has a parent in the hierarchy.

- - ### Method Detail

    - #### getName

          java.lang.String getName()

      Returns:
        printable name of the resource.

    - #### getParent

          IResource getParent()

      Gets next resource in the hierarchy. Call hasParent first to make sure there is one.
      Returns:
        Resource parent (or IllegalStateException if there is none). Never a null.

    - #### hasParent

          boolean hasParent()

      Indicates whether or not this resource has a parent in the hierarchy. Please perform this check before calling getParent() method.
      Returns:
        Whether or not the resource has a parent.

    - #### exists

          boolean exists()

      Returns:
        Whether or not this resource exists in Cassandra.

    - #### applicablePermissions

          java.util.Set<Permission> applicablePermissions()

      Returns the set of Permissions that may be applied to this resource Certain permissions are not applicable to particular types of resources. For instance, it makes no sense to talk about CREATE permission on table, or SELECT on a Role. Here we filter a set of permissions depending on the specific resource they're being applied to. This is necessary because the CQL syntax supports ALL as wildcard, but the set of permissions that should resolve to varies by IResource.
      Returns:
        the permissions that may be granted on the specific resource

Copyright © 2018 The Apache Software Foundation