package com.hundsun.ares.studio.atom.compiler.mysql.macro.handlers;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import com.hundsun.ares.studio.atom.compiler.mysql.macro.MacroConstant;
import com.hundsun.ares.studio.atom.compiler.mysql.token.FunctionResultSetGetValueToken;
import com.hundsun.ares.studio.engin.macrohandler.IMacroTokenHandler;
import com.hundsun.ares.studio.engin.token.ICodeToken;
import com.hundsun.ares.studio.engin.token.macro.IMacroToken;
/**
* [�ֹ������][user_id = @user_id , user_name = @user_name][@usersResultSet]
* �ڶ�������Ϊָ�������
* @author qinyuan
*
*/
public class UnpackAddValueByHandworkMacroHandler implements IMacroTokenHandler {
@Override
public String getKey() {
return MacroConstant.UNPACK_ADDVALUE_HANDWORK_MACRONAME;
}
@Override
public Iterator<ICodeToken> handle(IMacroToken token,
Map<Object, Object> context) throws Exception {
List<ICodeToken> tokens = new ArrayList<ICodeToken>();
String param_0 = "";
if (token.getParameters().length >= 1) {
param_0 = token.getParameters()[0];
}
String packName = "" ;
if (token.getParameters().length >=1){
packName = StringUtils.trim(token.getParameters()[1].trim());
if(!StringUtils.endsWith(packName,"ResultSet")){
packName+="ResultSet";
}
}
tokens.add(new FunctionResultSetGetValueToken(param_0,packName));
return tokens.iterator();
}
}