org.apache.cassandra.schema

## Class Indexes

- java.lang.Object
- - org.apache.cassandra.schema.Indexes

- All Implemented Interfaces:
    java.lang.Iterable<IndexMetadata>

      public class Indexes
      extends java.lang.Object
      implements java.lang.Iterable<IndexMetadata>

  For backwards compatibility, in the first instance an IndexMetadata must have TargetType.COLUMN and its Set of target columns must contain only a single ColumnIdentifier. Hence, this is what is enforced by the public factory methods on IndexMetadata. These constraints, along with the internal datastructures here will be relaxed as support is added for multiple target columns per-index and for indexes with TargetType.ROW

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Indexes.Builder`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Indexes.Builder` | `builder()`
    `boolean` | `equals(java.lang.Object o)`
    `java.util.Optional<IndexMetadata>` | `get(java.lang.String name)` Get the index with the specified name
    `java.util.Optional<IndexMetadata>` | `get(java.util.UUID id)` Get the index with the specified id
    `static java.lang.String` | `getAvailableIndexName(java.lang.String ksName, java.lang.String cfName, java.lang.String indexNameRoot)`
    `boolean` | `has(java.lang.String name)` Answer true if contains an index with the specified name.
    `boolean` | `has(java.util.UUID id)` Answer true if contains an index with the specified id.
    `int` | `hashCode()`
    `boolean` | `isEmpty()`
    `java.util.Iterator<IndexMetadata>` | `iterator()`
    `static Indexes` | `none()`
    `Indexes` | `replace(IndexMetadata index)` Creates a SecondaryIndexes instance which contains an updated index definition
    `int` | `size()`
    `java.lang.String` | `toString()`
    `Indexes` | `with(IndexMetadata index)` Create a SecondaryIndexes instance with the provided index added
    `Indexes` | `without(java.lang.String name)` Creates a SecondaryIndexes instance with the index with the provided name removed

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Method Detail

    - #### builder

          public static Indexes.Builder builder()

    - #### none

          public static Indexes none()

    - #### iterator

          public java.util.Iterator<IndexMetadata> iterator()

      Specified by:
        `iterator` in interface `java.lang.Iterable<IndexMetadata>`

    - #### size

          public int size()

    - #### isEmpty

          public boolean isEmpty()

    - #### get

          public java.util.Optional<IndexMetadata> get(java.lang.String name)

      Get the index with the specified name
      Parameters:
        `name` - a non-qualified index name
      Returns:
        an empty `Optional` if the named index is not found; a non-empty optional of `IndexMetadata` otherwise

    - #### has

          public boolean has(java.lang.String name)

      Answer true if contains an index with the specified name.
      Parameters:
        `name` - a non-qualified index name.
      Returns:
        true if the named index is found; false otherwise

    - #### get

          public java.util.Optional<IndexMetadata> get(java.util.UUID id)

      Get the index with the specified id
      Parameters:
        `id` - a UUID which identifies an index
      Returns:
        an empty `Optional` if no index with the specified id is found; a non-empty optional of `IndexMetadata` otherwise

    - #### has

          public boolean has(java.util.UUID id)

      Answer true if contains an index with the specified id.
      Parameters:
        `id` - a UUID which identifies an index.
      Returns:
        true if an index with the specified id is found; false otherwise

    - #### with

          public Indexes with(IndexMetadata index)

      Create a SecondaryIndexes instance with the provided index added

    - #### without

          public Indexes without(java.lang.String name)

      Creates a SecondaryIndexes instance with the index with the provided name removed

    - #### replace

          public Indexes replace(IndexMetadata index)

      Creates a SecondaryIndexes instance which contains an updated index definition

    - #### 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`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### getAvailableIndexName

          public static java.lang.String getAvailableIndexName(java.lang.String ksName,
                                                               java.lang.String cfName,
                                                               java.lang.String indexNameRoot)

Copyright © 2018 The Apache Software Foundation