Interface IResource

All Known Implementing Classes:
DataResource, FunctionResource, JMXResource, 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:
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the set of Permissions that may be applied to this resource Certain permissions are not applicable to particular types of resources.
    boolean
     
     
    Gets next resource in the hierarchy.
    boolean
    Indicates whether or not this resource has a parent in the hierarchy.
  • Method Details

    • getName

      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

      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