package com.alibaba.hsclient.commond;
import java.io.UnsupportedEncodingException;
import com.alibaba.hsclient.Command;
import com.alibaba.hsclient.util.Const;
/**
* <indexid> + <vlen> <v1> ... <vn>
* @author yinghui.huangyh
*
*/
public class InsertCommand implements Command{
private int indexId;
private String operator = Const.INSERT_OPERATOR;
private String[] fieldValues;
public InsertCommand(int indexId, String[] fieldValues) {
super();
this.indexId = indexId;
this.fieldValues = fieldValues;
}
public int getIndexId() {
return indexId;
}
public void setIndexId(int indexId) {
this.indexId = indexId;
}
public String[] getFieldValues() {
return fieldValues;
}
public void setFieldValues(String[] fieldValues) {
this.fieldValues = fieldValues;
}
public byte[] toByte(String encoding) throws UnsupportedEncodingException {
//<indexid> + <vlen> <v1> ... <vn>
StringBuffer sb = new StringBuffer();
sb.append(this.getIndexId()).append(Const.TOKEN_SEPARATOR)
.append(this.operator).append(Const.TOKEN_SEPARATOR)
.append(this.fieldValues.length).append(Const.TOKEN_SEPARATOR);
for (int i=0; i< fieldValues.length; i++) {
if (i == fieldValues.length -1)
{
sb.append(fieldValues[i]);
}
else
{
sb.append(fieldValues[i]).append(Const.TOKEN_SEPARATOR);
}
}
sb.append(Const.COMMAND_TERMINATE);
return sb.toString().getBytes(encoding);
}
}