Class IndexMetadata


  • public final class IndexMetadata
    extends java.lang.Object
    An immutable representation of secondary index metadata.
    • Field Detail

      • id

        public final java.util.UUID id
      • name

        public final java.lang.String name
      • options

        public final java.util.Map<java.lang.String,​java.lang.String> options
    • Method Detail

      • 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​(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)
      • generateDefaultIndexName

        public static java.lang.String generateDefaultIndexName​(java.lang.String table,
                                                                ColumnIdentifier column)
      • generateDefaultIndexName

        public static java.lang.String generateDefaultIndexName​(java.lang.String table)
      • getIndexClassName

        public java.lang.String getIndexClassName()
      • 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
      • toCqlString

        public java.lang.String toCqlString​(TableMetadata table,
                                            boolean ifNotExists)
      • appendCqlTo

        public void appendCqlTo​(CqlBuilder builder,
                                TableMetadata table,
                                boolean ifNotExists)
        Appends to the specified builder the CQL used to create this index.
        Parameters:
        builder - the builder to which the CQL myst be appended
        table - the parent table
        ifNotExists - includes "IF NOT EXISTS" into statement