/** * Դ�������ƣ�DeStandardFieldImpl.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.metadata.core * ����˵����Ԫ����ģ�Ͷ��塢��������� * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.jres.model.metadata.decrypt.impl; import org.apache.commons.lang.StringUtils; import org.eclipse.emf.ecore.EClass; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.core.model.util.Pair; import com.hundsun.ares.studio.jres.metadata.constant.IMetadataRefType; import com.hundsun.ares.studio.jres.model.metadata.BusinessDataType; import com.hundsun.ares.studio.jres.model.metadata.DictionaryType; import com.hundsun.ares.studio.jres.model.metadata.MetadataItem; import com.hundsun.ares.studio.jres.model.metadata.StandardField; import com.hundsun.ares.studio.jres.model.metadata.decrypt.DeBusinessDataType; import com.hundsun.ares.studio.jres.model.metadata.decrypt.DeDictionaryType; import com.hundsun.ares.studio.jres.model.metadata.decrypt.DeStandardField; import com.hundsun.ares.studio.jres.model.metadata.decrypt.DecryptPackage; import com.hundsun.ares.studio.jres.model.metadata.util.MetadataUtil; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>De Standard Field</b></em>'. * <!-- end-user-doc --> * <p> * </p> * * @generated */ public class DeStandardFieldImpl extends DeMetadataItemImpl<StandardField> implements DeStandardField { private DeBusinessDataType dataType; private DeDictionaryType dictionaryType; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DeStandardFieldImpl() { super(); } /** * @param proxyItem * @param resource */ public DeStandardFieldImpl(StandardField proxyItem, IARESResource resource) { super(proxyItem, resource); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return DecryptPackage.Literals.DE_STANDARD_FIELD; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public DeBusinessDataType getDataType() { if (!checkStatus()) { return DeBusinessDataType.NULL; } if (dataType == null) { Pair<StandardField, IARESResource> item = getResolvedItem(); // �������õ�Ԫ���� Pair<MetadataItem, IARESResource> finded = MetadataUtil.findMetadataItem(item.first.getDataType(), IMetadataRefType.BizType, getResource().getARESProject()); if (finded != null) { dataType = MetadataUtil.decrypt((BusinessDataType) finded.first, finded.second); } else { dataType = DeBusinessDataType.NULL; } } return dataType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getDataTypeId() { if (!checkStatus()) return StringUtils.EMPTY; return getResolvedItem().first.getDataType(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public DeDictionaryType getDictionaryType() { if (!checkStatus()) { return DeDictionaryType.NULL; } if (dictionaryType == null) { Pair<StandardField, IARESResource> item = getResolvedItem(); // �������õ�Ԫ���� Pair<MetadataItem, IARESResource> finded = MetadataUtil.findMetadataItem(item.first.getDictionaryType(), IMetadataRefType.Dict, getResource().getARESProject()); if (finded != null) { dictionaryType = MetadataUtil.decrypt((DictionaryType) finded.first, finded.second); } else { dictionaryType = DeDictionaryType.NULL; } } return dictionaryType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getDictionaryTypeId() { if (!checkStatus()) return StringUtils.EMPTY; return getResolvedItem().first.getDictionaryType(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getLength() { if (!checkStatus()) return ""; return getResolvedItem().first.getLength(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getPrecision() { if (!checkStatus()) return ""; return getResolvedItem().first.getPrecision(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getRealType(final String typeId) { return getDataType().getStdType().getRealType(typeId, getLength(), getPrecision()); } } //DeStandardFieldImpl