package com.hundsun.ares.studio.atom.excel;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.usermodel.Sheet;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EStructuralFeature;
import com.hundsun.ares.studio.atom.AtomPackage;
import com.hundsun.ares.studio.biz.BizPackage;
import com.hundsun.ares.studio.biz.excel.handlers.InterfaceSheetHandler;
import com.hundsun.ares.studio.core.excel.Module;
public abstract class AtomSheetHandler extends InterfaceSheetHandler{
/** �ƶ�����Ӧ��PropertyHandlerFactory�� --> AtomPropertyHandlerFactory, VarPropertyHandlerFactory
static {
ATOM_PROPERTY_HANDLERS.putAll(INTERFACE_PROPERTY_HANDLERS);
ATOM_PROPERTY_HANDLERS.put("�������ݿ�", new EMFPropertyHandler(AtomPackage.Literals.ATOM_FUNCTION__DATABASE));
ATOM_PROPERTY_HANDLERS.put("�������ݿ�", new EMFPropertyHandler(AtomPackage.Literals.ATOM_FUNCTION__DATABASE));//���ڲ�Ʒ����ϵͳ06��۰��и�ʽ��
// �ڲ�����
VAR_PROPERTY_HANDLERS.put("����", new EMFPropertyHandler(BizPackage.Literals.PARAMETER__FLAGS));
VAR_PROPERTY_HANDLERS.put("������", new EMFPropertyHandler(BizPackage.Literals.PARAMETER__ID));
VAR_PROPERTY_HANDLERS.put("������", new EMFPropertyHandler(BizPackage.Literals.PARAMETER__ID));
VAR_PROPERTY_HANDLERS.put("����", new EMFPropertyHandler(BizPackage.Literals.PARAMETER__TYPE));
VAR_PROPERTY_HANDLERS.put("��������", new EMFPropertyHandler(BizPackage.Literals.PARAMETER__TYPE));
VAR_PROPERTY_HANDLERS.put("˵��", new EMFPropertyHandler(BizPackage.Literals.PARAMETER__NAME));
VAR_PROPERTY_HANDLERS.put("ȱʡֵ", NullPropertyHandler.INSTANCE);
VAR_PROPERTY_HANDLERS.put("����", NullPropertyHandler.INSTANCE);
TEXT_PROPERTY_HANDLERS.put("ҵ��������", new EMFPropertyHandler(AtomPackage.Literals.ATOM_FUNCTION__PSEUDO_CODE));
TEXT_PROPERTY_HANDLERS.put("����˵��", NullPropertyHandler.INSTANCE);
TEXT_PROPERTY_HANDLERS.put("������ʾ", NullPropertyHandler.INSTANCE);//���ڲ�Ʒ����ϵͳ06��۰����д���Ϣ����ȥ����
}*/
/* (non-Javadoc)
* @see com.hundsun.ares.studio.biz.excel.handlers.AbstractSheetHandler#startSheet(org.apache.poi.hssf.usermodel.HSSFSheet)
*/
@Override
public void startSheet(Sheet sheet) {
super.startSheet(sheet);
module = new Module();
//���ķָ�����Ҳ֧��
String sheetName = StringUtils.replace(sheet.getSheetName(), "��", "-");
String cName = StringUtils.removeStart(sheetName, "ԭ�Ӻ���-");
cName = StringUtils.removeStart(cName, "ԭ�ӷ���-");
module.cName = cName;
}
@Override
protected EStructuralFeature getTableFeature() {
if (isVarBlock()) {
return AtomPackage.Literals.ATOM_FUNCTION__INTERNAL_VARIABLES;
}
return super.getTableFeature();
}
@Override
protected EClass getEClass() {
if (isVarBlock()) {
return BizPackage.Literals.PARAMETER;
}
return super.getEClass();
}
protected boolean isVarBlock() {
return StringUtils.equals(parser.getCurrentBlockTag(), "����");
}
protected boolean isTextBlock() {
return StringUtils.equals(parser.getCurrentBlockTag(), "ҵ��������");
}
}