/** * <p>Copyright: Copyright (c) 2013</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.procedure.compiler.token; import java.util.Map; import java.util.Set; import com.hundsun.ares.studio.engin.skeleton.ISkeletonAttributeHelper; import com.hundsun.ares.studio.engin.token.ICodeToken; import com.hundsun.ares.studio.procedure.compiler.constant.IProcedureEngineContextConstant; import com.hundsun.ares.studio.procedure.compiler.skeleton.util.ParamReplaceUtil; /** * @author lvgao * */ public class PROCPoxyCodeToken implements ICodeToken{ ICodeToken proxy; /** * * @param isInPROCSegment �Ƿ���PROC���鵱�� */ public PROCPoxyCodeToken(ICodeToken proxy){ this.proxy = proxy; } /* (non-Javadoc) * @see com.hundsun.ares.studio.engin.token.ICodeToken#getContent() */ @Override public String getContent() { return proxy.getContent(); } /* (non-Javadoc) * @see com.hundsun.ares.studio.engin.token.ICodeToken#getType() */ @Override public int getType() { return proxy.getType(); } /* (non-Javadoc) * @see com.hundsun.ares.studio.engin.token.ICodeToken#genCode(java.util.Map) */ @Override public String genCode(Map<Object, Object> context) throws Exception { String code = proxy.genCode(context); ISkeletonAttributeHelper helper = (ISkeletonAttributeHelper)context.get(IProcedureEngineContextConstant.SKELETON_ATTRIBUTE_HELPER); String[] params = helper.getAttribute(IProcedureEngineContextConstant.ATTR_PROC_VARIABLE_LIST).toArray(new String[0]); Set<String> inoutParamList = helper.getAttribute(IProcedureEngineContextConstant.ATTR_IN_OUT_PARAM_LIST); return ParamReplaceUtil.handleParams(":",code, params, inoutParamList); } }