package com.hundsun.ares.studio.engin.skeleton; import java.util.Iterator; import java.util.Map; import com.hundsun.ares.studio.engin.macrohandler.IMacroTokenHandler; import com.hundsun.ares.studio.engin.parser.IPseudocodeParser; import com.hundsun.ares.studio.engin.token.ICodeToken; import com.hundsun.ares.studio.engin.token.macro.IMacroToken; public interface ISkeleton { /** * ��ȡ��ͼtoken * @param resource * @param context * @return */ public Iterator<ICodeToken> getSkeletonToken()throws Exception; /** * ��������ʱ������ * @return * @throws Exception */ public Map<Object, Object> getRuntimeContext()throws Exception; /** * ���к�ļ�� * @return */ public Object[] postValidate(); /** * ������ͨ�ı�token * @param token * @param context * @return * @throws Exception */ public ICodeToken handleTextToken(ICodeToken token,Map<Object, Object> context)throws Exception; /** * ��ȡ��token�Ĵ����� * @param macro �� * @param context ������ * @return * @throws Exception */ public IMacroTokenHandler getMacroTokenHandler(IMacroToken macro,Map<Object, Object> context)throws Exception; /** * ��ȡα��������� * @param token * @param context * @return * @throws Exception */ public IPseudocodeParser getPseudocodeParser(ICodeToken token,Map<Object, Object> context)throws Exception; // public boolean IsNeedFormat(); /** * ͳһ������@����ת��Ϊp,v������<>�������ȵ�ֵ���� */ public void onFinish(Map<Object, Object> context)throws Exception; /** * ��ȡע������ */ public int getCommentType(); }