/**
* <p>Copyright: Copyright (c) 2013</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.atom.compiler.mysql.token;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import com.hundsun.ares.studio.atom.compiler.mysql.constant.IAtomEngineContextConstantMySQL;
import com.hundsun.ares.studio.engin.constant.ITokenConstant;
import com.hundsun.ares.studio.engin.skeleton.ISkeletonAttributeHelper;
import com.hundsun.ares.studio.engin.token.ICodeToken;
/**
* @author zhuyf
*
*/
public class ResultSetDefineToken implements ICodeToken {
/* (non-Javadoc)
* @see com.hundsun.ares.studio.engin.token.ICodeToken#getContent()
*/
@Override
public String getContent() {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.engin.token.ICodeToken#getType()
*/
@Override
public int getType() {
// TODO Auto-generated method stub
return 0;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.engin.token.ICodeToken#genCode(java.util.Map)
*/
@Override
public String genCode(Map<Object, Object> context) throws Exception {
// ÿһ�������������һ��IF2ResultSet * lpResultSet{0} = NULL;
ISkeletonAttributeHelper helper = (ISkeletonAttributeHelper)context.get(IAtomEngineContextConstantMySQL.SKELETON_ATTRIBUTE_HELPER);
Set<String> rsList = helper.getAttribute(IAtomEngineContextConstantMySQL.ATTR_RESULTSET_LIST);
StringBuffer codeBuffer = new StringBuffer();
if(rsList.size() > 0){
codeBuffer.append("//IF2ResultSet��������ʼ��" + ITokenConstant.NL);
}
for(Iterator<String> ite = rsList.iterator();ite.hasNext();){
String rsId = ite.next();
codeBuffer.append(String.format(RESULT_SET_DEFINE_STR, rsId));
}
return codeBuffer.toString();
}
private final static String RESULT_SET_DEFINE_STR = "IF2ResultSet * lpResultSet%1$s = NULL;" +ITokenConstant.NL;
}