/** * <p>Copyright: Copyright (c) 2013</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.atom.compiler.macro.handlers; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import com.hundsun.ares.studio.atom.compiler.constant.IAtomEngineContextConstant; import com.hundsun.ares.studio.atom.compiler.macro.MacroConstant; import com.hundsun.ares.studio.atom.compiler.token.FunctionResultSetGetValueToken; import com.hundsun.ares.studio.engin.macrohandler.IMacroTokenHandler; import com.hundsun.ares.studio.engin.skeleton.ISkeletonAttributeHelper; import com.hundsun.ares.studio.engin.token.ICodeToken; import com.hundsun.ares.studio.engin.token.macro.IMacroToken; /** * @author zhuyf * */ public class FunctionResultSetGetValueHandler implements IMacroTokenHandler { /* (non-Javadoc) * @see com.hundsun.ares.studio.engin.macrohandler.IMacroTokenHandler#getKey() */ @Override public String getKey() { // TODO Auto-generated method stub return MacroConstant.FUNCTION_RESULTSET_GETVALUE_MACRONAME; } /* (non-Javadoc) * @see com.hundsun.ares.studio.engin.macrohandler.IMacroTokenHandler#handle(com.hundsun.ares.studio.engin.token.macro.IMacroToken, java.util.Map) */ @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 > 0) { param_0 = token.getParameters()[0]; } ISkeletonAttributeHelper helper = (ISkeletonAttributeHelper)context.get(IAtomEngineContextConstant.SKELETON_ATTRIBUTE_HELPER); Set<String> rsIdSet = helper.getAttribute(IAtomEngineContextConstant.ATTR_FUNC_RESULTSET); String lastId = ""; if(rsIdSet.size() > 0){ lastId = (String)rsIdSet.toArray()[rsIdSet.size() - 1]; lastId = "lpResultSet"+lastId; } tokens.add(new FunctionResultSetGetValueToken(param_0,lastId)); return tokens.iterator(); } }