org.apache.cassandra.schema

## Class IndexMetadata

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

    public final class IndexMetadata
    extends java.lang.Object

An immutable representation of secondary index metadata.

### Nested Class Summary

Nested Classes
`static class` `IndexMetadata.Kind`
`static class` `IndexMetadata.Serializer`

### Field Summary

Fields
`java.util.UUID` `id`
`IndexMetadata.Kind` `kind`
`java.lang.String` `name`
`java.util.Map<java.lang.String,java.lang.String>` `options`
`static IndexMetadata.Serializer` `serializer`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `equals(java.lang.Object obj)`
`boolean` `equalsWithoutName(IndexMetadata other)`
`static IndexMetadata` `fromIndexTargets(CFMetaData cfm, java.util.List<IndexTarget> targets, java.lang.String name, IndexMetadata.Kind kind, java.util.Map<java.lang.String,java.lang.String> options)`
`static IndexMetadata` `fromLegacyMetadata(CFMetaData cfm, ColumnDefinition column, java.lang.String name, IndexMetadata.Kind kind, java.util.Map<java.lang.String,java.lang.String> options)`
`static IndexMetadata` `fromSchemaMetadata(java.lang.String name, IndexMetadata.Kind kind, java.util.Map<java.lang.String,java.lang.String> options)`
`static java.lang.String` `getDefaultIndexName(java.lang.String cfName, java.lang.String root)`
`int` `hashCode()`
`boolean` `isComposites()`
`boolean` `isCustom()`
`boolean` `isKeys()`
`static boolean` `isNameValid(java.lang.String name)`
`java.lang.String` `toString()`
`void` `validate(CFMetaData cfm)`

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

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

### Field Detail

#### serializer

    public static final IndexMetadata.Serializer serializer

#### id

    public final java.util.UUID id

#### name

    public final java.lang.String name

#### kind

    public final IndexMetadata.Kind kind

#### options

    public final java.util.Map<java.lang.String,java.lang.String> options

### Method Detail

#### fromLegacyMetadata

    public static IndexMetadata fromLegacyMetadata(CFMetaData cfm,
                                                   ColumnDefinition column,
                                                   java.lang.String name,
                                                   IndexMetadata.Kind kind,
                                                   java.util.Map<java.lang.String,java.lang.String> options)

#### fromSchemaMetadata

    public static IndexMetadata fromSchemaMetadata(java.lang.String name,
                                                   IndexMetadata.Kind kind,
                                                   java.util.Map<java.lang.String,java.lang.String> options)

#### fromIndexTargets

    public static IndexMetadata fromIndexTargets(CFMetaData cfm,
                                                 java.util.List<IndexTarget> targets,
                                                 java.lang.String name,
                                                 IndexMetadata.Kind kind,
                                                 java.util.Map<java.lang.String,java.lang.String> options)

#### isNameValid

    public static boolean isNameValid(java.lang.String name)

#### getDefaultIndexName

    public static java.lang.String getDefaultIndexName(java.lang.String cfName,
                                                       java.lang.String root)

#### validate

    public void validate(CFMetaData cfm)

#### isCustom

    public boolean isCustom()

#### isKeys

    public boolean isKeys()

#### isComposites

    public boolean isComposites()

#### hashCode

    public int hashCode()

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

#### equalsWithoutName

    public boolean equalsWithoutName(IndexMetadata other)

#### equals

    public boolean equals(java.lang.Object obj)

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

#### toString

    public java.lang.String toString()

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