Class DataResource

  • All Implemented Interfaces:
    IResource

    public class DataResource
    extends java.lang.Object
    implements IResource
    The primary type of resource in Cassandra. Used to represent a table or a keyspace or the root level "data" resource. "data" - the root level data resource. "data/keyspace_name" - keyspace-level data resource. "data/keyspace_name/*" - all tables-level data resource. "data/keyspace_name/table_name" - table-level data resource.
    • Method Detail

      • root

        public static DataResource root()
        Returns:
        the root-level resource.
      • keyspace

        public static DataResource keyspace​(java.lang.String keyspace)
        Creates a DataResource representing a keyspace.
        Parameters:
        keyspace - Name of the keyspace.
        Returns:
        DataResource instance representing the keyspace.
      • allTables

        public static DataResource allTables​(java.lang.String keyspace)
        Creates a DataResource representing all tables of a keyspace.
        Parameters:
        keyspace - Name of the keyspace.
        Returns:
        DataResource instance representing the keyspace.
      • table

        public static DataResource table​(java.lang.String keyspace,
                                         java.lang.String table)
        Creates a DataResource instance representing a table.
        Parameters:
        keyspace - Name of the keyspace.
        table - Name of the table.
        Returns:
        DataResource instance representing the column family.
      • fromName

        public static DataResource fromName​(java.lang.String name)
        Parses a data resource name into a DataResource instance.
        Parameters:
        name - Name of the data resource.
        Returns:
        DataResource instance matching the name.
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface IResource
        Returns:
        Printable name of the resource.
      • getParent

        public IResource getParent()
        Description copied from interface: IResource
        Gets next resource in the hierarchy. Call hasParent first to make sure there is one.
        Specified by:
        getParent in interface IResource
        Returns:
        Parent of the resource, if any. Throws IllegalStateException if it's the root-level resource.
      • isRootLevel

        public boolean isRootLevel()
      • isKeyspaceLevel

        public boolean isKeyspaceLevel()
      • isAllTablesLevel

        public boolean isAllTablesLevel()
      • isTableLevel

        public boolean isTableLevel()
      • getKeyspace

        public java.lang.String getKeyspace()
        Returns:
        keyspace of the resource. Throws IllegalStateException if it's the root-level resource.
      • getTable

        public java.lang.String getTable()
        Returns:
        column family of the resource. Throws IllegalStateException if it's not a table-level resource.
      • hasParent

        public boolean hasParent()
        Description copied from interface: IResource
        Indicates whether or not this resource has a parent in the hierarchy. Please perform this check before calling getParent() method.
        Specified by:
        hasParent in interface IResource
        Returns:
        Whether or not the resource has a parent in the hierarchy.
      • exists

        public boolean exists()
        Specified by:
        exists in interface IResource
        Returns:
        Whether or not the resource exists in Cassandra.
      • applicablePermissions

        public java.util.Set<Permission> applicablePermissions()
        Description copied from interface: IResource
        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.
        Specified by:
        applicablePermissions in interface IResource
        Returns:
        the permissions that may be granted on the specific resource
      • toString

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

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object