CFMetaData (apache-cassandra API)
Date: 2018-02-12

org.apache.cassandra.config

## Class CFMetaData

- java.lang.Object
- - org.apache.cassandra.config.CFMetaData

-     public final class CFMetaData
      extends java.lang.Object

  This class can be tricky to modify. Please read http://wiki.apache.org/cassandra/ConfigurationNotes for how to do so safely.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `CFMetaData.SpeculativeRetry`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.util.UUID` | `cfId`
    `java.lang.String` | `cfName`
    `ColumnFamilyType` | `cfType`
    `java.lang.Class<? extends AbstractCompactionStrategy>` | `compactionStrategyClass`
    `java.util.Map<java.lang.String,java.lang.String>` | `compactionStrategyOptions`
    `CellNameType` | `comparator`
    `CompressionParameters` | `compressionParameters`
    `static CachingOptions` | `DEFAULT_CACHING_STRATEGY`
    `static java.lang.String` | `DEFAULT_COLUMN_ALIAS`
    `static java.lang.Class<? extends AbstractCompactionStrategy>` | `DEFAULT_COMPACTION_STRATEGY_CLASS`
    `static java.lang.String` | `DEFAULT_COMPRESSOR`
    `static double` | `DEFAULT_DCLOCAL_READ_REPAIR_CHANCE`
    `static int` | `DEFAULT_DEFAULT_TIME_TO_LIVE`
    `static int` | `DEFAULT_GC_GRACE_SECONDS`
    `static java.lang.String` | `DEFAULT_KEY_ALIAS`
    `static int` | `DEFAULT_MAX_COMPACTION_THRESHOLD`
    `static int` | `DEFAULT_MAX_INDEX_INTERVAL`
    `static int` | `DEFAULT_MIN_COMPACTION_THRESHOLD`
    `static int` | `DEFAULT_MIN_INDEX_INTERVAL`
    `static double` | `DEFAULT_READ_REPAIR_CHANCE`
    `static CFMetaData.SpeculativeRetry` | `DEFAULT_SPECULATIVE_RETRY`
    `static java.lang.String` | `DEFAULT_VALUE_ALIAS`
    `byte[]` | `ksAndCFBytes`
    `Pair<java.lang.String,java.lang.String>` | `ksAndCFName`
    `java.lang.String` | `ksName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CFMetaData(java.lang.String keyspace, java.lang.String name, ColumnFamilyType type, CellNameType comp)` Create new ColumnFamily metadata with generated random ID.
    `CFMetaData(java.lang.String keyspace, java.lang.String name, ColumnFamilyType type, CellNameType comp, java.util.UUID id)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `CFMetaData` | `addAllColumnDefinitions(java.util.Collection<ColumnDefinition> defs)`
    `CFMetaData` | `addColumnDefinition(ColumnDefinition def)`
    `void` | `addDefaultIndexNames()` Convert a null index_name to appropriate default name according to column status
    `CFMetaData` | `addOrReplaceColumnDefinition(ColumnDefinition def)`
    `void` | `addTriggerDefinition(TriggerDefinition def)`
    `java.util.Collection<ColumnDefinition>` | `allColumns()`
    `java.util.Iterator<ColumnDefinition>` | `allColumnsInSelectOrder()`
    `boolean` | `apply(CFMetaData cfm)` Updates CFMetaData in-place to match cfm
    `CFMetaData` | `bloomFilterFpChance(double prop)`
    `CFMetaData` | `caching(CachingOptions prop)`
    `static boolean` | `calculateIsDense(AbstractType<?> comparator, java.util.Collection<ColumnDefinition> defs)`
    `java.util.List<ColumnDefinition>` | `clusteringColumns()`
    `CFMetaData` | `comment(java.lang.String prop)`
    `CFMetaData` | `compactionStrategyClass(java.lang.Class<? extends AbstractCompactionStrategy> prop)`
    `CFMetaData` | `compactionStrategyOptions(java.util.Map<java.lang.String,java.lang.String> prop)`
    `ColumnDefinition` | `compactValueColumn()`
    `static CFMetaData` | `compile(java.lang.String cql, java.lang.String keyspace)`
    `CompressionParameters` | `compressionParameters()`
    `CFMetaData` | `compressionParameters(CompressionParameters prop)`
    `boolean` | `containsTriggerDefinition(TriggerDefinition def)`
    `CFMetaData` | `copy()`
    `CFMetaData` | `copy(java.util.UUID newCfId)` Clones the CFMetaData, but sets a different cfId
    `static CFMetaData` | `copyOpts(CFMetaData newCFMD, CFMetaData oldCFMD)`
    `static java.lang.Class<? extends AbstractCompactionStrategy>` | `createCompactionStrategy(java.lang.String className)`
    `static AbstractCompactionStrategy` | `createCompactionStrategyInstance(java.lang.Class<? extends AbstractCompactionStrategy> compactionStrategyClass, ColumnFamilyStore cfs, java.util.Map<java.lang.String,java.lang.String> compactionStrategyOptions)`
    `AbstractCompactionStrategy` | `createCompactionStrategyInstance(ColumnFamilyStore cfs)` Deprecated.
    `CFMetaData` | `dcLocalReadRepairChance(double prop)`
    `CFMetaData` | `defaultTimeToLive(int prop)`
    `CFMetaData` | `defaultValidator(AbstractType<?> prop)`
    `static CFMetaData` | `denseCFMetaData(java.lang.String keyspace, java.lang.String name, AbstractType<?> comp)`
    `static CFMetaData` | `denseCFMetaData(java.lang.String keyspace, java.lang.String name, AbstractType<?> comp, AbstractType<?> subcc)`
    `CFMetaData` | `droppedColumns(java.util.Map<ColumnIdentifier,java.lang.Long> cols)`
    `boolean` | `equals(java.lang.Object o)`
    `CFMetaData` | `gcGraceSeconds(int prop)`
    `static java.util.UUID` | `generateLegacyCfId(java.lang.String ksName, java.lang.String cfName)` Generates deterministic UUID from keyspace/columnfamily name pair.
    `double` | `getBloomFilterFpChance()`
    `CachingOptions` | `getCaching()`
    `ColumnDefinition` | `getColumnDefinition(java.nio.ByteBuffer name)`
    `ColumnDefinition` | `getColumnDefinition(CellName cellName)` Returns a ColumnDefinition given a cell name.
    `ColumnDefinition` | `getColumnDefinition(ColumnIdentifier name)` Returns the ColumnDefinition for `name`.
    `AbstractType<?>` | `getColumnDefinitionComparator(ColumnDefinition def)`
    `ColumnDefinition` | `getColumnDefinitionForIndex(java.lang.String indexName)`
    `java.util.Map<java.nio.ByteBuffer,ColumnDefinition>` | `getColumnMetadata()`
    `java.lang.String` | `getComment()`
    `AbstractType<?>` | `getComponentComparator(java.lang.Integer componentIndex, ColumnDefinition.Kind kind)`
    `double` | `getDcLocalReadRepairChance()`
    `static java.lang.String` | `getDefaultIndexName(java.lang.String cfName, ColumnIdentifier columnName)`
    `int` | `getDefaultTimeToLive()`
    `AbstractType<?>` | `getDefaultValidator()`
    `java.util.Map<ColumnIdentifier,java.lang.Long>` | `getDroppedColumns()`
    `int` | `getGcGraceSeconds()`
    `java.lang.Boolean` | `getIsDense()`
    `AbstractType<?>` | `getKeyValidator()`
    `CType` | `getKeyValidatorAsCType()`
    `java.lang.Integer` | `getMaxCompactionThreshold()`
    `int` | `getMaxIndexInterval()`
    `int` | `getMemtableFlushPeriod()`
    `java.lang.Integer` | `getMinCompactionThreshold()`
    `int` | `getMinIndexInterval()`
    `AtomDeserializer` | `getOnDiskDeserializer(java.io.DataInput in, Version version)`
    `java.util.Iterator<OnDiskAtom>` | `getOnDiskIterator(FileDataInput in, ColumnSerializer.Flag flag, int expireBefore, Version version)`
    `java.util.Iterator<OnDiskAtom>` | `getOnDiskIterator(FileDataInput in, Version version)`
    `java.lang.String` | `getParentColumnFamilyName()`
    `double` | `getReadRepairChance()`
    `CFMetaData.SpeculativeRetry` | `getSpeculativeRetry()`
    `java.util.Map<java.lang.String,TriggerDefinition>` | `getTriggers()`
    `AbstractType<?>` | `getValueValidator(CellName cellName)`
    `int` | `hashCode()`
    `boolean` | `hasStaticColumns()`
    `java.lang.String` | `indexColumnFamilyName(ColumnDefinition info)` generate a column family name for an index corresponding to the given column.
    `boolean` | `isCounter()`
    `boolean` | `isCQL3Table()`
    `CFMetaData` | `isDense(java.lang.Boolean prop)`
    `static boolean` | `isIndexNameValid(java.lang.String name)`
    `static boolean` | `isNameValid(java.lang.String name)`
    `boolean` | `isPurged()`
    `boolean` | `isSecondaryIndex()` The '.' char is the only way to identify if the CFMetadata is for a secondary index
    `boolean` | `isSuper()`
    `boolean` | `isThriftCompatible()` Returns whether this CFMetaData can be returned to thrift.
    `CFMetaData` | `keyValidator(AbstractType<?> prop)`
    `static AbstractType<?>` | `makeRawAbstractType(AbstractType<?> comparator, AbstractType<?> subComparator)`
    `CFMetaData` | `maxCompactionThreshold(int prop)`
    `CFMetaData` | `maxIndexInterval(int prop)`
    `CFMetaData` | `memtableFlushPeriod(int prop)`
    `CFMetaData` | `minCompactionThreshold(int prop)`
    `CFMetaData` | `minIndexInterval(int prop)`
    `static CFMetaData` | `newIndexMetadata(CFMetaData parent, ColumnDefinition info, CellNameType indexComparator)` Creates CFMetaData for secondary index CF.
    `ReadRepairDecision` | `newReadRepairDecision()`
    `java.util.List<ColumnDefinition>` | `partitionKeyColumns()`
    `CFMetaData` | `readRepairChance(double prop)`
    `CFMetaData` | `rebuild()`
    `void` | `recordColumnDrop(ColumnDefinition def)`
    `java.lang.Iterable<ColumnDefinition>` | `regularAndStaticColumns()`
    `java.util.Set<ColumnDefinition>` | `regularColumns()`
    `boolean` | `reload()` Updates this object in place to match the definition in the system schema tables.
    `CFMetaData` | `reloadSecondaryIndexMetadata(CFMetaData parent)`
    `boolean` | `removeColumnDefinition(ColumnDefinition def)`
    `boolean` | `removeTrigger(java.lang.String name)`
    `void` | `renameColumn(ColumnIdentifier from, ColumnIdentifier to)`
    `static CFMetaData` | `sparseCFMetaData(java.lang.String keyspace, java.lang.String name, AbstractType<?> comp)`
    `CFMetaData` | `speculativeRetry(CFMetaData.SpeculativeRetry prop)`
    `java.util.Set<ColumnDefinition>` | `staticColumns()`
    `java.lang.String` | `toString()`
    `CFMetaData` | `triggers(java.util.Map<java.lang.String,TriggerDefinition> prop)`
    `CFMetaData` | `validate()`
    `static void` | `validateCompactionOptions(java.lang.Class<? extends AbstractCompactionStrategy> strategyClass, java.util.Map<java.lang.String,java.lang.String> options)`
    `void` | `validateCompatility(CFMetaData cfm)`

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

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

- - ### Field Detail

    - #### DEFAULT_READ_REPAIR_CHANCE

          public static final double DEFAULT_READ_REPAIR_CHANCE

      See Also:
        Constant Field Values

    - #### DEFAULT_DCLOCAL_READ_REPAIR_CHANCE

          public static final double DEFAULT_DCLOCAL_READ_REPAIR_CHANCE

      See Also:
        Constant Field Values

    - #### DEFAULT_GC_GRACE_SECONDS

          public static final int DEFAULT_GC_GRACE_SECONDS

      See Also:
        Constant Field Values

    - #### DEFAULT_MIN_COMPACTION_THRESHOLD

          public static final int DEFAULT_MIN_COMPACTION_THRESHOLD

      See Also:
        Constant Field Values

    - #### DEFAULT_MAX_COMPACTION_THRESHOLD

          public static final int DEFAULT_MAX_COMPACTION_THRESHOLD

      See Also:
        Constant Field Values

    - #### DEFAULT_COMPACTION_STRATEGY_CLASS

          public static final java.lang.Class<? extends AbstractCompactionStrategy> DEFAULT_COMPACTION_STRATEGY_CLASS

    - #### DEFAULT_CACHING_STRATEGY

          public static final CachingOptions DEFAULT_CACHING_STRATEGY

    - #### DEFAULT_DEFAULT_TIME_TO_LIVE

          public static final int DEFAULT_DEFAULT_TIME_TO_LIVE

      See Also:
        Constant Field Values

    - #### DEFAULT_SPECULATIVE_RETRY

          public static final CFMetaData.SpeculativeRetry DEFAULT_SPECULATIVE_RETRY

    - #### DEFAULT_MIN_INDEX_INTERVAL

          public static final int DEFAULT_MIN_INDEX_INTERVAL

      See Also:
        Constant Field Values

    - #### DEFAULT_MAX_INDEX_INTERVAL

          public static final int DEFAULT_MAX_INDEX_INTERVAL

      See Also:
        Constant Field Values

    - #### DEFAULT_COMPRESSOR

          public static final java.lang.String DEFAULT_COMPRESSOR

    - #### cfId

          public final java.util.UUID cfId

    - #### ksName

          public final java.lang.String ksName

    - #### cfName

          public final java.lang.String cfName

    - #### ksAndCFName

          public final Pair<java.lang.String,java.lang.String> ksAndCFName

    - #### ksAndCFBytes

          public final byte[] ksAndCFBytes

    - #### cfType

          public final ColumnFamilyType cfType

    - #### comparator

          public volatile CellNameType comparator

    - #### DEFAULT_KEY_ALIAS

          public static final java.lang.String DEFAULT_KEY_ALIAS

      See Also:
        Constant Field Values

    - #### DEFAULT_COLUMN_ALIAS

          public static final java.lang.String DEFAULT_COLUMN_ALIAS

      See Also:
        Constant Field Values

    - #### DEFAULT_VALUE_ALIAS

          public static final java.lang.String DEFAULT_VALUE_ALIAS

      See Also:
        Constant Field Values

    - #### compactionStrategyClass

          public volatile java.lang.Class<? extends AbstractCompactionStrategy> compactionStrategyClass

    - #### compactionStrategyOptions

          public volatile java.util.Map<java.lang.String,java.lang.String> compactionStrategyOptions

    - #### compressionParameters

          public volatile CompressionParameters compressionParameters

  - ### Constructor Detail

    - #### CFMetaData

          public CFMetaData(java.lang.String keyspace,
                            java.lang.String name,
                            ColumnFamilyType type,
                            CellNameType comp)

      Create new ColumnFamily metadata with generated random ID. When loading from existing schema, use CFMetaData
      Parameters:
        `keyspace` - keyspace name
        `name` - column family name
        `comp` - default comparator

    - #### CFMetaData

          public CFMetaData(java.lang.String keyspace,
                            java.lang.String name,
                            ColumnFamilyType type,
                            CellNameType comp,
                            java.util.UUID id)

  - ### Method Detail

    - #### comment

          public CFMetaData comment(java.lang.String prop)

    - #### readRepairChance

          public CFMetaData readRepairChance(double prop)

    - #### dcLocalReadRepairChance

          public CFMetaData dcLocalReadRepairChance(double prop)

    - #### gcGraceSeconds

          public CFMetaData gcGraceSeconds(int prop)

    - #### defaultValidator

          public CFMetaData defaultValidator(AbstractType<?> prop)

    - #### keyValidator

          public CFMetaData keyValidator(AbstractType<?> prop)

    - #### minCompactionThreshold

          public CFMetaData minCompactionThreshold(int prop)

    - #### maxCompactionThreshold

          public CFMetaData maxCompactionThreshold(int prop)

    - #### compactionStrategyClass

          public CFMetaData compactionStrategyClass(java.lang.Class<? extends AbstractCompactionStrategy> prop)

    - #### compactionStrategyOptions

          public CFMetaData compactionStrategyOptions(java.util.Map<java.lang.String,java.lang.String> prop)

    - #### compressionParameters

          public CFMetaData compressionParameters(CompressionParameters prop)

    - #### bloomFilterFpChance

          public CFMetaData bloomFilterFpChance(double prop)

    - #### caching

          public CFMetaData caching(CachingOptions prop)

    - #### minIndexInterval

          public CFMetaData minIndexInterval(int prop)

    - #### maxIndexInterval

          public CFMetaData maxIndexInterval(int prop)

    - #### memtableFlushPeriod

          public CFMetaData memtableFlushPeriod(int prop)

    - #### defaultTimeToLive

          public CFMetaData defaultTimeToLive(int prop)

    - #### speculativeRetry

          public CFMetaData speculativeRetry(CFMetaData.SpeculativeRetry prop)

    - #### droppedColumns

          public CFMetaData droppedColumns(java.util.Map<ColumnIdentifier,java.lang.Long> cols)

    - #### triggers

          public CFMetaData triggers(java.util.Map<java.lang.String,TriggerDefinition> prop)

    - #### isDense

          public CFMetaData isDense(java.lang.Boolean prop)

    - #### denseCFMetaData

          public static CFMetaData denseCFMetaData(java.lang.String keyspace,
                                                   java.lang.String name,
                                                   AbstractType<?> comp,
                                                   AbstractType<?> subcc)

    - #### sparseCFMetaData

          public static CFMetaData sparseCFMetaData(java.lang.String keyspace,
                                                    java.lang.String name,
                                                    AbstractType<?> comp)

    - #### denseCFMetaData

          public static CFMetaData denseCFMetaData(java.lang.String keyspace,
                                                   java.lang.String name,
                                                   AbstractType<?> comp)

    - #### makeRawAbstractType

          public static AbstractType<?> makeRawAbstractType(AbstractType<?> comparator,
                                                            AbstractType<?> subComparator)

    - #### getTriggers

          public java.util.Map<java.lang.String,TriggerDefinition> getTriggers()

    - #### compile

          public static CFMetaData compile(java.lang.String cql,
                                           java.lang.String keyspace)

    - #### generateLegacyCfId

          public static java.util.UUID generateLegacyCfId(java.lang.String ksName,
                                                          java.lang.String cfName)

      Generates deterministic UUID from keyspace/columnfamily name pair. This is used to generate the same UUID for C* version < 2.1 Since 2.1, this is only used for system columnfamilies and tests.

    - #### newIndexMetadata

          public static CFMetaData newIndexMetadata(CFMetaData parent,
                                                    ColumnDefinition info,
                                                    CellNameType indexComparator)

      Creates CFMetaData for secondary index CF. Secondary index CF has the same CF ID as parent's.
      Parameters:
        `parent` - Parent CF where secondary index is created
        `info` - Column definition containing secondary index definition
        `indexComparator` - Comparator for secondary index
      Returns:
        CFMetaData for secondary index

    - #### reloadSecondaryIndexMetadata

          public CFMetaData reloadSecondaryIndexMetadata(CFMetaData parent)

    - #### copy

          public CFMetaData copy()

    - #### copy

          public CFMetaData copy(java.util.UUID newCfId)

      Clones the CFMetaData, but sets a different cfId
      Parameters:
        `newCfId` - the cfId for the cloned CFMetaData
      Returns:
        the cloned CFMetaData instance with the new cfId

    - #### copyOpts

          public static CFMetaData copyOpts(CFMetaData newCFMD,
                                            CFMetaData oldCFMD)

    - #### indexColumnFamilyName

          public java.lang.String indexColumnFamilyName(ColumnDefinition info)

      generate a column family name for an index corresponding to the given column. This is NOT the same as the index's name! This is only used in sstable filenames and is not exposed to users.
      Parameters:
        `info` - A definition of the column with index
      Returns:
        name of the index ColumnFamily

    - #### getComment

          public java.lang.String getComment()

    - #### isSuper

          public boolean isSuper()

    - #### isSecondaryIndex

          public boolean isSecondaryIndex()

      The '.' char is the only way to identify if the CFMetadata is for a secondary index

    - #### getColumnMetadata

          public java.util.Map<java.nio.ByteBuffer,ColumnDefinition> getColumnMetadata()

    - #### getParentColumnFamilyName

          public java.lang.String getParentColumnFamilyName()

      Returns:
        The name of the parent cf if this is a seconday index

    - #### getReadRepairChance

          public double getReadRepairChance()

    - #### getDcLocalReadRepairChance

          public double getDcLocalReadRepairChance()

    - #### newReadRepairDecision

          public ReadRepairDecision newReadRepairDecision()

    - #### getGcGraceSeconds

          public int getGcGraceSeconds()

    - #### getDefaultValidator

          public AbstractType<?> getDefaultValidator()

    - #### getKeyValidator

          public AbstractType<?> getKeyValidator()

    - #### getMinCompactionThreshold

          public java.lang.Integer getMinCompactionThreshold()

    - #### getMaxCompactionThreshold

          public java.lang.Integer getMaxCompactionThreshold()

    - #### compressionParameters

          public CompressionParameters compressionParameters()

    - #### allColumns

          public java.util.Collection<ColumnDefinition> allColumns()

    - #### allColumnsInSelectOrder

          public java.util.Iterator<ColumnDefinition> allColumnsInSelectOrder()

    - #### partitionKeyColumns

          public java.util.List<ColumnDefinition> partitionKeyColumns()

    - #### clusteringColumns

          public java.util.List<ColumnDefinition> clusteringColumns()

    - #### regularColumns

          public java.util.Set<ColumnDefinition> regularColumns()

    - #### staticColumns

          public java.util.Set<ColumnDefinition> staticColumns()

    - #### regularAndStaticColumns

          public java.lang.Iterable<ColumnDefinition> regularAndStaticColumns()

    - #### compactValueColumn

          public ColumnDefinition compactValueColumn()

    - #### getKeyValidatorAsCType

          public CType getKeyValidatorAsCType()

    - #### getBloomFilterFpChance

          public double getBloomFilterFpChance()

    - #### getCaching

          public CachingOptions getCaching()

    - #### getMinIndexInterval

          public int getMinIndexInterval()

    - #### getMaxIndexInterval

          public int getMaxIndexInterval()

    - #### getSpeculativeRetry

          public CFMetaData.SpeculativeRetry getSpeculativeRetry()

    - #### getMemtableFlushPeriod

          public int getMemtableFlushPeriod()

    - #### getDefaultTimeToLive

          public int getDefaultTimeToLive()

    - #### getDroppedColumns

          public java.util.Map<ColumnIdentifier,java.lang.Long> getDroppedColumns()

    - #### getIsDense

          public java.lang.Boolean getIsDense()

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

    - #### getValueValidator

          public AbstractType<?> getValueValidator(CellName cellName)

    - #### reload

          public boolean reload()

      Updates this object in place to match the definition in the system schema tables.
      Returns:
        true if any columns were added, removed, or altered; otherwise, false is returned

    - #### apply

          public boolean apply(CFMetaData cfm)
                        throws ConfigurationException

      Updates CFMetaData in-place to match cfm
      Returns:
        true if any columns were added, removed, or altered; otherwise, false is returned
      Throws:
        `ConfigurationException` - if ks/cf names or cf ids didn't match

    - #### validateCompatility

          public void validateCompatility(CFMetaData cfm)
                                   throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### validateCompactionOptions

          public static void validateCompactionOptions(java.lang.Class<? extends AbstractCompactionStrategy> strategyClass,
                                                       java.util.Map<java.lang.String,java.lang.String> options)
                                                throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### createCompactionStrategy

          public static java.lang.Class<? extends AbstractCompactionStrategy> createCompactionStrategy(java.lang.String className)
                                                                                                throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### createCompactionStrategyInstance

          public static AbstractCompactionStrategy createCompactionStrategyInstance(java.lang.Class<? extends AbstractCompactionStrategy> compactionStrategyClass,
                                                                                    ColumnFamilyStore cfs,
                                                                                    java.util.Map<java.lang.String,java.lang.String> compactionStrategyOptions)

    - #### createCompactionStrategyInstance

          @Deprecated
          public AbstractCompactionStrategy createCompactionStrategyInstance(ColumnFamilyStore cfs)

      Deprecated.

    - #### getColumnDefinition

          public ColumnDefinition getColumnDefinition(ColumnIdentifier name)

      Returns the ColumnDefinition for `name`.

    - #### getColumnDefinition

          public ColumnDefinition getColumnDefinition(java.nio.ByteBuffer name)

    - #### getColumnDefinition

          public ColumnDefinition getColumnDefinition(CellName cellName)

      Returns a ColumnDefinition given a cell name.

    - #### getColumnDefinitionForIndex

          public ColumnDefinition getColumnDefinitionForIndex(java.lang.String indexName)

    - #### addDefaultIndexNames

          public void addDefaultIndexNames()
                                    throws ConfigurationException

      Convert a null index_name to appropriate default name according to column status
      Throws:
        `ConfigurationException`

    - #### getDefaultIndexName

          public static java.lang.String getDefaultIndexName(java.lang.String cfName,
                                                             ColumnIdentifier columnName)

    - #### getOnDiskIterator

          public java.util.Iterator<OnDiskAtom> getOnDiskIterator(FileDataInput in,
                                                                  Version version)

    - #### getOnDiskIterator

          public java.util.Iterator<OnDiskAtom> getOnDiskIterator(FileDataInput in,
                                                                  ColumnSerializer.Flag flag,
                                                                  int expireBefore,
                                                                  Version version)

    - #### getOnDiskDeserializer

          public AtomDeserializer getOnDiskDeserializer(java.io.DataInput in,
                                                        Version version)

    - #### isNameValid

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

    - #### isIndexNameValid

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

    - #### validate

          public CFMetaData validate()
                              throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### isPurged

          public boolean isPurged()

    - #### getColumnDefinitionComparator

          public AbstractType<?> getColumnDefinitionComparator(ColumnDefinition def)

    - #### getComponentComparator

          public AbstractType<?> getComponentComparator(java.lang.Integer componentIndex,
                                                        ColumnDefinition.Kind kind)

    - #### addAllColumnDefinitions

          public CFMetaData addAllColumnDefinitions(java.util.Collection<ColumnDefinition> defs)

    - #### addColumnDefinition

          public CFMetaData addColumnDefinition(ColumnDefinition def)
                                         throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### addOrReplaceColumnDefinition

          public CFMetaData addOrReplaceColumnDefinition(ColumnDefinition def)

    - #### removeColumnDefinition

          public boolean removeColumnDefinition(ColumnDefinition def)

    - #### addTriggerDefinition

          public void addTriggerDefinition(TriggerDefinition def)
                                    throws InvalidRequestException

      Throws:
        `InvalidRequestException`

    - #### containsTriggerDefinition

          public boolean containsTriggerDefinition(TriggerDefinition def)

    - #### removeTrigger

          public boolean removeTrigger(java.lang.String name)

    - #### recordColumnDrop

          public void recordColumnDrop(ColumnDefinition def)

    - #### renameColumn

          public void renameColumn(ColumnIdentifier from,
                                   ColumnIdentifier to)
                            throws InvalidRequestException

      Throws:
        `InvalidRequestException`

    - #### rebuild

          public CFMetaData rebuild()

    - #### calculateIsDense

          public static boolean calculateIsDense(AbstractType<?> comparator,
                                                 java.util.Collection<ColumnDefinition> defs)

    - #### isCQL3Table

          public boolean isCQL3Table()

    - #### isThriftCompatible

          public boolean isThriftCompatible()

      Returns whether this CFMetaData can be returned to thrift.

    - #### isCounter

          public boolean isCounter()

    - #### hasStaticColumns

          public boolean hasStaticColumns()

    - #### toString

          public java.lang.String toString()

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

Copyright © 2018 The Apache Software Foundation