/** * Դ�������ƣ�DeConstantItemImpl.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.ConstantItem; import com.hundsun.ares.studio.jres.model.metadata.MetadataItem; import com.hundsun.ares.studio.jres.model.metadata.StandardDataType; import com.hundsun.ares.studio.jres.model.metadata.decrypt.DeConstantItem; import com.hundsun.ares.studio.jres.model.metadata.decrypt.DeStandardDataType; 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 Constant Item</b></em>'. * <!-- end-user-doc --> * <p> * </p> * * @generated */ public class DeConstantItemImpl extends DeMetadataItemImpl<ConstantItem> implements DeConstantItem { private DeStandardDataType stdType; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DeConstantItemImpl() { super(); } /** * @param proxyItem * @param resource */ public DeConstantItemImpl(ConstantItem proxyItem, IARESResource resource) { super(proxyItem, resource); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return DecryptPackage.Literals.DE_CONSTANT_ITEM; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public DeStandardDataType getDataType() { if (!checkStatus()) { return DeStandardDataType.NULL; } if (stdType == null) { Pair<ConstantItem, IARESResource> item = getResolvedItem(); // �������õ�Ԫ���� Pair<MetadataItem, IARESResource> finded = MetadataUtil.findMetadataItem(item.first.getDataType(), IMetadataRefType.StdType, getResource().getARESProject()); if (finded != null) { stdType = MetadataUtil.decrypt((StandardDataType) finded.first, finded.second); } else { stdType = DeStandardDataType.NULL; } } return stdType; } /** * <!-- 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 */ 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 getValue() { if (!checkStatus()) return ""; return getResolvedItem().first.getValue(); } } //DeConstantItemImpl