Java 类org.eclipse.emf.ecore.impl.EEnumImpl 实例源码

项目:BIMplatform    文件:IfcStepStreamingDeserializer.java   
private void readEnum(String val, VirtualObject object, EStructuralFeature structuralFeature) throws DeserializeException, MetaDataException, DatabaseException {
    if (val.equals(".T.")) {
        object.setAttribute(structuralFeature, Boolean.TRUE);
    } else if (val.equals(".F.")) {
        object.setAttribute(structuralFeature, Boolean.FALSE);
    } else if (val.equals(".U.")) {
        object.eUnset(structuralFeature);
    } else {
        if (structuralFeature.getEType() instanceof EEnumImpl) {
            String realEnumValue = val.substring(1, val.length() - 1);
            EEnumLiteral enumValue = (((EEnumImpl) structuralFeature.getEType()).getEEnumLiteral(realEnumValue));
            if (enumValue == null) {
                throw new DeserializeException(lineNumber, "Enum type " + structuralFeature.getEType().getName() + " has no literal value '" + realEnumValue + "'");
            }
            object.setAttribute(structuralFeature, enumValue.getLiteral());
        } else {
            throw new DeserializeException(lineNumber, "Value " + val + " indicates enum type but " + structuralFeature.getEType().getName() + " expected");
        }
    }
}
项目:OpenSPIFe    文件:TemporalPackageImpl.java   
public void createPackageContents() {
    if (isCreated) return;
    createPackageContentsGen();
    EEnumImpl e = new EEnumImpl() {
        @Override
        public Object getDefaultValue() {
            return CalculatedVariable.END;
        }
    };
    e.setClassifierID(CALCULATED_VARIABLE);
    ListIterator<EClassifier> iterator = getEClassifiers().listIterator();
    while (iterator.hasNext()) {
        if (iterator.next().getClassifierID() == CALCULATED_VARIABLE) {
            iterator.set(e);
            calculatedVariableEEnum = e;
            break;
        }
    }
}
项目:OpenSPIFe    文件:MultiselectCellEditor.java   
protected List<String> getChoiceOfValues(EPlanElement element, EStructuralFeature feature) {

    if(choiceOfValues == null) {
        EClassifier eType = feature.getEType();
        if(eType instanceof EEnumImpl) {
            choices = ((EEnumImpl) eType).getELiterals();               
        } else {
            IItemPropertySource itemPropertySource = EMFUtils.adapt(element, IItemPropertySource.class);
            IItemPropertyDescriptor pd = itemPropertySource.getPropertyDescriptor(element, feature);
            choices = pd.getChoiceOfValues(element);
        }
        choiceOfValues = getList(choices);
    }

    return choiceOfValues;
}
项目:OpenSPIFe    文件:MergeRowHighlightDecorator.java   
private List<?> getChoiceOfObjects(String parameterName) {
    if (parameterName != null) {
        EParameterDef def = ActivityDictionary.getInstance().getAttributeDef(parameterName);
        if (def != null) {
            EGenericType eGenericType = def.getEGenericType();
            EClassifier classifier = eGenericType.getEClassifier();
            if (classifier instanceof EEnumImpl) {
                EEnumImpl enumImpl = (EEnumImpl) classifier;
                return enumImpl.getELiterals();
            } 
            LogUtil.warn("Row Highlighting only supports Enum types. Not supported for " + parameterName + " (" +classifier+").");
        } else {
            LogUtil.error("Invalid parameter name for Row Highligther: "+ parameterName);
        }
    } 
    return Collections.EMPTY_LIST;
}
项目:OpenSPIFe    文件:EMFUtils.java   
/**
 * getStringifier(eAttribute.getEAttributeType() is deprecated.
 * Use getStringifier(eAttribute) instead, when applicable.
 */
public static IStringifier<?> getStringifier(final EDataType eDataType) {

    if(eDataType instanceof EEnumImpl) {
        return new EEnumStringifier(eDataType);
    }


    IStringifier stringifier = null;
    // First check the type name, using hasRegisteredStringifier to avoid unnecessary warnings
    // from getStringifier
    boolean hasStringifier = StringifierRegistry.hasRegisteredStringifier(eDataType.getName());
    if (hasStringifier) {
        stringifier = StringifierRegistry.getStringifier(eDataType.getName());
    } else {
        // Next check the instance name
        Class<?> instanceClass = eDataType.getInstanceClass();
        if (instanceClass != null) {
            stringifier = StringifierRegistry.getStringifier(instanceClass);
        }
        // Do not use the DefaultStringifier since we would prefer to delegate to the EFactory instance
        if (stringifier instanceof DefaultStringifier) {
            return new EDataTypeStringifier(eDataType);
        }
    }
    return stringifier;
}
项目:OpenSPIFe    文件:ParameterColumn.java   
@Override
@SuppressWarnings("unchecked")
public CellEditor getCellEditor(Composite parent, ParameterFacet<T> facet) {
    EStructuralFeature feature = facet.getFeature();
    EClassifier type = feature.getEType();
    if (isCheckboxType(type)) {
        return new CheckboxNullCellEditor(parent);
    }
    EPlanElement element = facet.getElement();
    if (feature.isMany()) {
        return new MultiselectCellEditor(parent, element, feature);
    }
    if (type instanceof EEnumImpl) {
        return new EEnumComboBoxCellEditor(parent, (EEnumImpl) type);
    }
    if (feature instanceof EAttributeParameter) {
        EAttributeParameter def = (EAttributeParameter) feature;
        List<EChoice> choices = def.getChoices();
        if (DictionaryUtil.containsOnlyValues(choices)) {
            return new ChoicesCellEditor(parent, def, choices);
        }
    }
    if (feature instanceof EReference) {
        final EReference reference = (EReference) feature;
        ComboBoxViewerCellEditor comboBoxViewerCellEditor = new EReferenceCellEditor(parent, element, reference);
        return comboBoxViewerCellEditor;
    }
    IStringifier<Object> stringifier = null;
    if (feature instanceof EAttribute) {
        stringifier = ParameterStringifierUtils.getStringifier((EAttribute) feature);
    }
    if (stringifier == null) {
        return new CocoaCompatibleTextCellEditor(parent);
    }
    return new StringifierCellEditor(parent, stringifier);
}
项目:OpenSPIFe    文件:EEnumComboBoxCellEditor.java   
private static List getList(EEnumImpl impl) {
    List list = new ArrayList();
    EList<EEnumLiteral> literals = impl.getELiterals();
    for (EEnumLiteral literal : literals) {
        list.add(literal.getInstance());
    }
    return list;
}
项目:OpenSPIFe    文件:OneOfEachRowDecoratorParameter.java   
private EEnum getEEnum(String parameterName) {
    EParameterDef def = ActivityDictionary.getInstance().getAttributeDef(parameterName);
    if (def != null) {
        EGenericType eGenericType = def.getEGenericType();
        EClassifier classifier = eGenericType.getEClassifier();
        if (classifier instanceof EEnumImpl) {
            return (EEnum) classifier;
        } 
    }
    return null;
}
项目:OpenSPIFe    文件:EEnumComboBoxCellEditor.java   
public EEnumComboBoxCellEditor(Composite parent, EEnumImpl impl) {
    super(parent, getList(impl), new LabelProvider());
}