org.apache.cassandra.thrift
Class ThriftValidation

java.lang.Object
  extended by org.apache.cassandra.thrift.ThriftValidation

public class ThriftValidation
extends java.lang.Object

This has a lot of building blocks for CassandraServer to call to make sure it has valid input -- ensuring column names conform to the declared comparator, for instance. The methods here mostly try to do just one part of the validation so they can be combined for different needs -- supercolumns vs regular, range slices vs named, batch vs single-column. (ValidateColumnPath is the main exception in that it includes table and CF validation.)


Constructor Summary
ThriftValidation()
           
 
Method Summary
static void validateCfDef(CfDef cf_def)
           
static void validateColumnData(java.lang.String keyspace, java.lang.String column_family, Column column)
          Validates the data part of the column (everything in the Column object but the name)
static ColumnFamilyType validateColumnFamily(java.lang.String tablename, java.lang.String cfName)
           
static void validateColumnNames(java.lang.String keyspace, ColumnParent column_parent, java.lang.Iterable<java.nio.ByteBuffer> column_names)
           
static void validateColumnOrSuperColumn(java.lang.String keyspace, java.lang.String cfName, ColumnOrSuperColumn cosc)
           
static void validateDeletion(java.lang.String keyspace, java.lang.String cfName, Deletion del)
           
static void validateIndexClauses(java.lang.String keyspace, java.lang.String columnFamily, IndexClause index_clause)
           
static void validateKeyRange(KeyRange range)
           
static void validateMutation(java.lang.String keyspace, java.lang.String cfName, Mutation mut)
           
static void validatePredicate(java.lang.String keyspace, ColumnParent column_parent, SlicePredicate predicate)
           
static void validateRange(java.lang.String keyspace, ColumnParent column_parent, SliceRange range)
           
static void validateSlicePredicate(java.lang.String keyspace, java.lang.String cfName, java.nio.ByteBuffer scName, SlicePredicate predicate)
           
static void validateTable(java.lang.String tablename)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThriftValidation

public ThriftValidation()
Method Detail

validateTable

public static void validateTable(java.lang.String tablename)
                          throws KeyspaceNotDefinedException
Throws:
KeyspaceNotDefinedException

validateColumnFamily

public static ColumnFamilyType validateColumnFamily(java.lang.String tablename,
                                                    java.lang.String cfName)
                                             throws InvalidRequestException
Throws:
InvalidRequestException

validateColumnNames

public static void validateColumnNames(java.lang.String keyspace,
                                       ColumnParent column_parent,
                                       java.lang.Iterable<java.nio.ByteBuffer> column_names)
                                throws InvalidRequestException
Throws:
InvalidRequestException

validateRange

public static void validateRange(java.lang.String keyspace,
                                 ColumnParent column_parent,
                                 SliceRange range)
                          throws InvalidRequestException
Throws:
InvalidRequestException

validateColumnOrSuperColumn

public static void validateColumnOrSuperColumn(java.lang.String keyspace,
                                               java.lang.String cfName,
                                               ColumnOrSuperColumn cosc)
                                        throws InvalidRequestException
Throws:
InvalidRequestException

validateMutation

public static void validateMutation(java.lang.String keyspace,
                                    java.lang.String cfName,
                                    Mutation mut)
                             throws InvalidRequestException
Throws:
InvalidRequestException

validateDeletion

public static void validateDeletion(java.lang.String keyspace,
                                    java.lang.String cfName,
                                    Deletion del)
                             throws InvalidRequestException
Throws:
InvalidRequestException

validateSlicePredicate

public static void validateSlicePredicate(java.lang.String keyspace,
                                          java.lang.String cfName,
                                          java.nio.ByteBuffer scName,
                                          SlicePredicate predicate)
                                   throws InvalidRequestException
Throws:
InvalidRequestException

validateColumnData

public static void validateColumnData(java.lang.String keyspace,
                                      java.lang.String column_family,
                                      Column column)
                               throws InvalidRequestException
Validates the data part of the column (everything in the Column object but the name)

Throws:
InvalidRequestException

validatePredicate

public static void validatePredicate(java.lang.String keyspace,
                                     ColumnParent column_parent,
                                     SlicePredicate predicate)
                              throws InvalidRequestException
Throws:
InvalidRequestException

validateKeyRange

public static void validateKeyRange(KeyRange range)
                             throws InvalidRequestException
Throws:
InvalidRequestException

validateIndexClauses

public static void validateIndexClauses(java.lang.String keyspace,
                                        java.lang.String columnFamily,
                                        IndexClause index_clause)
                                 throws InvalidRequestException
Throws:
InvalidRequestException

validateCfDef

public static void validateCfDef(CfDef cf_def)
                          throws InvalidRequestException
Throws:
InvalidRequestException


Copyright © 2011 The Apache Software Foundation