public interface org.apache.cassandra.index.Index
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.apache.cassandra.index.Index
  super_class: java.lang.Object
{
  public static final org.apache.cassandra.index.Index$CollatedViewIndexBuildingSupport INDEX_BUILDER_SUPPORT;
    descriptor: Lorg/apache/cassandra/index/Index$CollatedViewIndexBuildingSupport;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 169
            new org.apache.cassandra.index.Index$CollatedViewIndexBuildingSupport
            dup
            invokespecial org.apache.cassandra.index.Index$CollatedViewIndexBuildingSupport.<init>:()V
            putstatic org.apache.cassandra.index.Index.INDEX_BUILDER_SUPPORT:Lorg/apache/cassandra/index/Index$CollatedViewIndexBuildingSupport;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.apache.cassandra.index.Index$IndexBuildingSupport getBuildTaskSupport();
    descriptor: ()Lorg/apache/cassandra/index/Index$IndexBuildingSupport;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.index.Index this
         0: .line 187
            getstatic org.apache.cassandra.index.Index.INDEX_BUILDER_SUPPORT:Lorg/apache/cassandra/index/Index$CollatedViewIndexBuildingSupport;
            areturn
        end local 0 // org.apache.cassandra.index.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/index/Index;

  public abstract java.util.concurrent.Callable<?> getInitializationTask();
    descriptor: ()Ljava/util/concurrent/Callable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/concurrent/Callable<*>;

  public abstract org.apache.cassandra.schema.IndexMetadata getIndexMetadata();
    descriptor: ()Lorg/apache/cassandra/schema/IndexMetadata;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.concurrent.Callable<?> getMetadataReloadTask(org.apache.cassandra.schema.IndexMetadata);
    descriptor: (Lorg/apache/cassandra/schema/IndexMetadata;)Ljava/util/concurrent/Callable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/apache/cassandra/schema/IndexMetadata;)Ljava/util/concurrent/Callable<*>;
    MethodParameters:
               Name  Flags
      indexMetadata  

  public abstract void register(org.apache.cassandra.index.IndexRegistry);
    descriptor: (Lorg/apache/cassandra/index/IndexRegistry;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      registry  

  public abstract java.util.Optional<org.apache.cassandra.db.ColumnFamilyStore> getBackingTable();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<Lorg/apache/cassandra/db/ColumnFamilyStore;>;

  public abstract java.util.concurrent.Callable<?> getBlockingFlushTask();
    descriptor: ()Ljava/util/concurrent/Callable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/concurrent/Callable<*>;

  public abstract java.util.concurrent.Callable<?> getInvalidateTask();
    descriptor: ()Ljava/util/concurrent/Callable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/concurrent/Callable<*>;

  public abstract java.util.concurrent.Callable<?> getTruncateTask(long);
    descriptor: (J)Ljava/util/concurrent/Callable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (J)Ljava/util/concurrent/Callable<*>;
    MethodParameters:
             Name  Flags
      truncatedAt  

  public java.util.concurrent.Callable<?> getPreJoinTask(boolean);
    descriptor: (Z)Ljava/util/concurrent/Callable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.Index this
        start local 1 // boolean hadBootstrap
         0: .line 263
            aconst_null
            areturn
        end local 1 // boolean hadBootstrap
        end local 0 // org.apache.cassandra.index.Index this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/apache/cassandra/index/Index;
            0    1     1  hadBootstrap  Z
    Signature: (Z)Ljava/util/concurrent/Callable<*>;
    MethodParameters:
              Name  Flags
      hadBootstrap  

  public abstract boolean shouldBuildBlocking();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public org.apache.cassandra.io.sstable.format.SSTableFlushObserver getFlushObserver(org.apache.cassandra.io.sstable.Descriptor, org.apache.cassandra.db.compaction.OperationType);
    descriptor: (Lorg/apache/cassandra/io/sstable/Descriptor;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/io/sstable/format/SSTableFlushObserver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.apache.cassandra.index.Index this
        start local 1 // org.apache.cassandra.io.sstable.Descriptor descriptor
        start local 2 // org.apache.cassandra.db.compaction.OperationType opType
         0: .line 288
            aconst_null
            areturn
        end local 2 // org.apache.cassandra.db.compaction.OperationType opType
        end local 1 // org.apache.cassandra.io.sstable.Descriptor descriptor
        end local 0 // org.apache.cassandra.index.Index this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/index/Index;
            0    1     1  descriptor  Lorg/apache/cassandra/io/sstable/Descriptor;
            0    1     2      opType  Lorg/apache/cassandra/db/compaction/OperationType;
    MethodParameters:
            Name  Flags
      descriptor  
      opType      

  public abstract boolean dependsOn(org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      column  

  public abstract boolean supportsExpression(org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.cql3.Operator);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      column    
      operator  

  public abstract org.apache.cassandra.db.marshal.AbstractType<?> customExpressionValueType();
    descriptor: ()Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  public abstract org.apache.cassandra.db.filter.RowFilter getPostIndexQueryFilter(org.apache.cassandra.db.filter.RowFilter);
    descriptor: (Lorg/apache/cassandra/db/filter/RowFilter;)Lorg/apache/cassandra/db/filter/RowFilter;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      filter  

  public abstract long getEstimatedResultRows();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void validate(org.apache.cassandra.db.partitions.PartitionUpdate);
    descriptor: (Lorg/apache/cassandra/db/partitions/PartitionUpdate;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
        Name  Flags
      update  

  public abstract org.apache.cassandra.index.Index$Indexer indexerFor(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.PartitionColumns, int, org.apache.cassandra.utils.concurrent.OpOrder$Group, org.apache.cassandra.index.transactions.IndexTransaction$Type);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/PartitionColumns;ILorg/apache/cassandra/utils/concurrent/OpOrder$Group;Lorg/apache/cassandra/index/transactions/IndexTransaction$Type;)Lorg/apache/cassandra/index/Index$Indexer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      key              
      columns          
      nowInSec         
      opGroup          
      transactionType  

  public void validate(org.apache.cassandra.db.ReadCommand);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.apache.cassandra.index.Index this
        start local 1 // org.apache.cassandra.db.ReadCommand command
         0: .line 510
            return
        end local 1 // org.apache.cassandra.db.ReadCommand command
        end local 0 // org.apache.cassandra.index.Index this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/cassandra/index/Index;
            0    1     1  command  Lorg/apache/cassandra/db/ReadCommand;
    Exceptions:
      throws org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
         Name  Flags
      command  

  public abstract java.util.function.BiFunction<org.apache.cassandra.db.partitions.PartitionIterator, org.apache.cassandra.db.ReadCommand, org.apache.cassandra.db.partitions.PartitionIterator> postProcessorFor(org.apache.cassandra.db.ReadCommand);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand;)Ljava/util/function/BiFunction;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/apache/cassandra/db/ReadCommand;)Ljava/util/function/BiFunction<Lorg/apache/cassandra/db/partitions/PartitionIterator;Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/partitions/PartitionIterator;>;
    MethodParameters:
         Name  Flags
      command  

  public abstract org.apache.cassandra.index.Index$Searcher searcherFor(org.apache.cassandra.db.ReadCommand);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/index/Index$Searcher;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      command  
}
SourceFile: "Index.java"
NestMembers:
  org.apache.cassandra.index.Index$CollatedViewIndexBuildingSupport  org.apache.cassandra.index.Index$IndexBuildingSupport  org.apache.cassandra.index.Index$Indexer  org.apache.cassandra.index.Index$Searcher
InnerClasses:
  public CollatedViewIndexBuildingSupport = org.apache.cassandra.index.Index$CollatedViewIndexBuildingSupport of org.apache.cassandra.index.Index
  public abstract IndexBuildingSupport = org.apache.cassandra.index.Index$IndexBuildingSupport of org.apache.cassandra.index.Index
  public abstract Indexer = org.apache.cassandra.index.Index$Indexer of org.apache.cassandra.index.Index
  public abstract Searcher = org.apache.cassandra.index.Index$Searcher of org.apache.cassandra.index.Index
  public final Type = org.apache.cassandra.index.transactions.IndexTransaction$Type of org.apache.cassandra.index.transactions.IndexTransaction
  public final Group = org.apache.cassandra.utils.concurrent.OpOrder$Group of org.apache.cassandra.utils.concurrent.OpOrder