package org.scale7.cassandra.pelops; import java.nio.ByteBuffer; import java.util.List; import org.apache.cassandra.thrift.Column; import org.apache.cassandra.thrift.CounterColumn; import org.scale7.cassandra.pelops.exceptions.ModelException; public class Validation { public static ByteBuffer safeGetRowKey(Bytes rowKey) { if (rowKey == null || rowKey.isNull()) throw new ModelException("Row Key is null"); return rowKey.getBytes(); } public static List<Bytes> validateRowKeys(List<Bytes> rowKeys) { for (Bytes b : rowKeys) validateRowKey(b); return rowKeys; } public static List<String> validateRowKeysUtf8(List<String> rowKeys) { for (String s : rowKeys) if (s == null) throw new ModelException("Row key is null"); return rowKeys; } public static Bytes validateRowKey(Bytes rowKey) { if (rowKey == null || rowKey.isNull()) throw new ModelException("Row Key is null"); return rowKey; } public static void validateColumn(Column column) { if (!column.isSetName()) throw new ModelException("Column name is null"); if (!column.isSetValue()) throw new ModelException("Column value is null"); } public static void validateColumn(CounterColumn column) { if (!column.isSetName()) throw new ModelException("Column name is null"); if (!column.isSetValue()) throw new ModelException("Column value is null"); } public static void validateColumns(List<Column> columns) { for (Column c : columns) validateColumn(c); } public static void validateCounterColumns(List<CounterColumn> columns) { for (CounterColumn c : columns) validateColumn(c); } public static void validateColumnNames(List<Bytes> names) { for (Bytes n : names) validateColumnName(n); } public static void validateColumnName(Bytes name) { if (name == null || name.isNull()) throw new ModelException("Column name is null"); } }