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
`static class` `CFMetaData.SpeculativeRetry`

### Field Summary

Fields
`static CFMetaData` `BatchlogCf`
`java.util.UUID` `cfId`
`java.lang.String` `cfName`
`ColumnFamilyType` `cfType`
`static CFMetaData` `CompactionHistoryCf`
`static CFMetaData` `CompactionLogCf`
`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`
`static CFMetaData` `HintsCf`
`static CFMetaData` `IndexCf`
`java.lang.String` `ksName`
`static CFMetaData` `LocalCf`
`static CFMetaData` `PaxosCf`
`static CFMetaData` `PeerEventsCf`
`static CFMetaData` `PeersCf`
`static CFMetaData` `RangeXfersCf`
`static CFMetaData` `SchemaColumnFamiliesCf`
`static CFMetaData` `SchemaColumnsCf`
`static CFMetaData` `SchemaKeyspacesCf`
`static CFMetaData` `SchemaTriggersCf`
`static CFMetaData` `SchemaUserTypesCf`
`static CFMetaData` `SSTableActivityCF`
`static CFMetaData` `TraceEventsCf`
`static CFMetaData` `TraceSessionsCf`

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

### Method Summary

Methods
`CFMetaData` `addAllColumnDefinitions(java.util.Collection<ColumnDefinition> defs)`
`CFMetaData` `addColumnDefinition(ColumnDefinition def)`
`void` `addColumnMetadataFromAliases(java.util.List<java.nio.ByteBuffer> aliases, AbstractType<?> comparator, ColumnDefinition.Kind kind)`
`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()`
`CFMetaData` `bloomFilterFpChance(java.lang.Double prop)`
`CFMetaData` `caching(CachingOptions prop)`
`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)`
`CFMetaData` `copy()`
`CFMetaData` `copy(java.util.UUID newCfId)` Clones the CFMetaData, but sets a different cfId
`static java.lang.Class<? extends AbstractCompactionStrategy>` `createCompactionStrategy(java.lang.String className)`
`AbstractCompactionStrategy` `createCompactionStrategyInstance(ColumnFamilyStore cfs)`
`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)`
`Mutation` `dropFromSchema(long timestamp)` Remove all CF attributes from schema
`CFMetaData` `droppedColumns(java.util.Map<ColumnIdentifier,java.lang.Long> cols)`
`boolean` `equals(java.lang.Object o)`
`static CFMetaData` `fromSchema(UntypedResultSet.Row result)` Deserialize CF metadata from low-level representation
`static CFMetaData` `fromThrift(CfDef cf_def)`
`static CFMetaData` `fromThriftCqlRow(CqlRow cf, CqlResult columnsRes)` Create CFMetaData from thrift `CqlRow` that contains columns from schema_columnfamilies.
`static CFMetaData` `fromThriftForUpdate(CfDef cf_def, CFMetaData toUpdate)`
`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.lang.String` `getComment()`
`AbstractType<?>` `getComponentComparator(java.lang.Integer componentIndex, ColumnDefinition.Kind kind)`
`java.lang.String` `getCQL2KeyName()`
`double` `getDcLocalReadRepair()`
`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, Descriptor.Version version)`
`java.util.Iterator<OnDiskAtom>` `getOnDiskIterator(java.io.DataInput in, ColumnSerializer.Flag flag, int expireBefore, Descriptor.Version version)`
`java.util.Iterator<OnDiskAtom>` `getOnDiskIterator(java.io.DataInput in, Descriptor.Version version)`
`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` `isSuper()`
`boolean` `isThriftCompatible()` Returns whether this CFMetaData can be returned to thrift.
`CFMetaData` `keyValidator(AbstractType<?> prop)`
`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()`
`void` `reload()`
`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()`
`Mutation` `toSchema(long timestamp)` Convert current metadata into schema mutation
`void` `toSchema(Mutation mutation, long timestamp)`
`Mutation` `toSchemaUpdate(CFMetaData newState, long modificationTimestamp, boolean fromThrift)` Create schema mutations to update this metadata to provided new state.
`java.lang.String` `toString()`
`CfDef` `toThrift()`
`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

#### IndexCf

    public static final CFMetaData IndexCf

#### SchemaKeyspacesCf

    public static final CFMetaData SchemaKeyspacesCf

#### SchemaColumnFamiliesCf

    public static final CFMetaData SchemaColumnFamiliesCf

#### SchemaColumnsCf

    public static final CFMetaData SchemaColumnsCf

#### SchemaTriggersCf

    public static final CFMetaData SchemaTriggersCf

#### SchemaUserTypesCf

    public static final CFMetaData SchemaUserTypesCf

#### HintsCf

    public static final CFMetaData HintsCf

#### PeersCf

    public static final CFMetaData PeersCf

#### PeerEventsCf

    public static final CFMetaData PeerEventsCf

#### LocalCf

    public static final CFMetaData LocalCf

#### TraceSessionsCf

    public static final CFMetaData TraceSessionsCf

#### TraceEventsCf

    public static final CFMetaData TraceEventsCf

#### BatchlogCf

    public static final CFMetaData BatchlogCf

#### RangeXfersCf

    public static final CFMetaData RangeXfersCf

#### CompactionLogCf

    public static final CFMetaData CompactionLogCf

#### PaxosCf

    public static final CFMetaData PaxosCf

#### SSTableActivityCF

    public static final CFMetaData SSTableActivityCF

#### CompactionHistoryCf

    public static final CFMetaData CompactionHistoryCf

#### cfId

    public final java.util.UUID cfId

#### ksName

    public final java.lang.String ksName

#### cfName

    public final java.lang.String cfName

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

### 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(java.lang.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)

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

#### 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()

#### getReadRepairChance

    public double getReadRepairChance()

#### getDcLocalReadRepair

    public double getDcLocalReadRepair()

#### 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()

#### getCQL2KeyName

    public java.lang.String getCQL2KeyName()

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

#### fromThrift

    public static CFMetaData fromThrift(CfDef cf_def)
                                 throws InvalidRequestException,
                                        ConfigurationException

Throws:
  `InvalidRequestException`
  `ConfigurationException`

#### fromThriftForUpdate

    public static CFMetaData fromThriftForUpdate(CfDef cf_def,
                                 CFMetaData toUpdate)
                                          throws InvalidRequestException,
                                                 ConfigurationException

Throws:
  `InvalidRequestException`
  `ConfigurationException`

#### fromThriftCqlRow

    public static CFMetaData fromThriftCqlRow(CqlRow cf,
                              CqlResult columnsRes)

Create CFMetaData from thrift `CqlRow` that contains columns from schema_columnfamilies.

Parameters:
  `columnsRes` - CqlRow containing columns from schema_columnfamilies.
Returns:
  CFMetaData derived from CqlRow

#### reload

    public void reload()

#### 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 AbstractCompactionStrategy createCompactionStrategyInstance(ColumnFamilyStore cfs)

#### toThrift

    public CfDef toThrift()

#### 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(java.io.DataInput in,
                                                   Descriptor.Version version)

#### getOnDiskIterator

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

#### getOnDiskDeserializer

    public AtomDeserializer getOnDiskDeserializer(java.io.DataInput in,
                                         Descriptor.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`

#### toSchemaUpdate

    public Mutation toSchemaUpdate(CFMetaData newState,
                          long modificationTimestamp,
                          boolean fromThrift)

Create schema mutations to update this metadata to provided new state.

Parameters:
  `newState` - The new metadata (for the same CF)
  `modificationTimestamp` - Timestamp to use for mutation
  `fromThrift` - whether the newState comes from thrift
Returns:
  Difference between attributes in form of schema mutation

#### dropFromSchema

    public Mutation dropFromSchema(long timestamp)

Remove all CF attributes from schema

Parameters:
  `timestamp` - Timestamp to use
Returns:
  Mutation to use to completely remove cf from schema

#### isPurged

    public boolean isPurged()

#### toSchema

    public void toSchema(Mutation mutation,
                long timestamp)

#### addColumnMetadataFromAliases

    public void addColumnMetadataFromAliases(java.util.List<java.nio.ByteBuffer> aliases,
                                    AbstractType<?> comparator,
                                    ColumnDefinition.Kind kind)

#### fromSchema

    public static CFMetaData fromSchema(UntypedResultSet.Row result)

Deserialize CF metadata from low-level representation

Returns:
  Thrift-based metadata deserialized from schema

#### toSchema

    public Mutation toSchema(long timestamp)
                      throws ConfigurationException

Convert current metadata into schema mutation

Parameters:
  `timestamp` - Timestamp to use
Returns:
  Low-level representation of the CF
Throws:
  `ConfigurationException` - if any of the attributes didn't pass validation

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

Throws:
  `ConfigurationException`

#### 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()

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