package org.ff4j.hbase.mapper;
import static org.ff4j.hbase.HBaseConstants.B_FEATURES_CF_CORE;
import static org.ff4j.hbase.HBaseConstants.B_FEAT_ENABLE;
import static org.ff4j.hbase.HBaseConstants.B_FEAT_UID;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;
/**
* Helper to create queries in HBASE.
*
* @author Cedrick LUNVEN (@clunven)
*/
public class HBaseQueryBuilder {
/**
* Hide default constructor.
*/
private HBaseQueryBuilder() {
}
/**
* Search by rowKey, get only rowKey (exist).
*
* @param uid
* target uid
* @return
* target query
*/
public static Get getFeatureById(String uid) {
return new Get(Bytes.toBytes(uid));
}
/**
* Create query.
*
* @param uid
* current feature id
* @return
* target query
*/
public static Put queryEnableFeature(String uid) {
Put put = new Put(Bytes.toBytes(uid));
put.addColumn(B_FEATURES_CF_CORE, B_FEAT_UID, Bytes.toBytes(uid));
put.addColumn(B_FEATURES_CF_CORE, B_FEAT_ENABLE, Bytes.toBytes(true));
return put;
}
/**
* Create query.
*
* @param uid
* current feature id
* @return
* target query
*/
public static Put queryDisableFeature(String uid) {
Put put = new Put(Bytes.toBytes(uid));
put.addColumn(B_FEATURES_CF_CORE, B_FEAT_UID, Bytes.toBytes(uid));
put.addColumn(B_FEATURES_CF_CORE, B_FEAT_ENABLE, Bytes.toBytes(false));
return put;
}
}