Search in sources :

Example 16 with EEnum

use of org.eclipse.emf.ecore.EEnum in project BIMserver by opensourceBIM.

the class Schema method createEEnum.

public EEnum createEEnum(EPackage ePackage, String name) {
    EEnum eEnum = EcoreFactory.eINSTANCE.createEEnum();
    changes.add(new NewEnumChange(eEnum));
    ePackage.getEClassifiers().add(eEnum);
    eEnum.setName(name);
    return eEnum;
}
Also used : NewEnumChange(org.bimserver.database.migrations.change.NewEnumChange) EEnum(org.eclipse.emf.ecore.EEnum)

Example 17 with EEnum

use of org.eclipse.emf.ecore.EEnum in project xtext-core by eclipse.

the class AssignmentQuantityAllocator method allowTransient.

protected boolean allowTransient(EObject obj, EStructuralFeature feature, Collection<ISyntaxConstraint> constraint) {
    if (feature.getEType() instanceof EEnum)
        return true;
    Object value = obj.eGet(feature);
    List<RuleCall> ruleCalls = GrammarUtil.containedRuleCalls(constraint.iterator().next().getGrammarElement());
    if (ruleCalls.isEmpty())
        return false;
    return valueSerializer.isValid(obj, ruleCalls.get(0), value, null);
}
Also used : EObject(org.eclipse.emf.ecore.EObject) EEnum(org.eclipse.emf.ecore.EEnum) RuleCall(org.eclipse.xtext.RuleCall)

Example 18 with EEnum

use of org.eclipse.emf.ecore.EEnum in project xtext-core by eclipse.

the class GrammarParserTest method testEnum_06.

@Test
public void testEnum_06() throws Exception {
    String modelAsString = "grammar TestLanguage with org.eclipse.xtext.common.Terminals\n" + "generate testLanguage 'http://www.eclipse.org/2009/tmf/xtext/AbstractEnumRulesTest/TestEnum/6'\n" + "Model: enumValue=MyEnum;\n" + "enum MyEnum: Value1 | Value2='value' | Value3;";
    Grammar grammar = (Grammar) getModel(modelAsString);
    assertTrue(grammar.eResource().getErrors().toString(), grammar.eResource().getErrors().isEmpty());
    checkEnums(grammar);
    EPackage pack = grammar.getMetamodelDeclarations().get(0).getEPackage();
    assertEquals("http://www.eclipse.org/2009/tmf/xtext/AbstractEnumRulesTest/TestEnum/6", pack.getNsURI());
    EEnum eEnum = (EEnum) pack.getEClassifier("MyEnum");
    assertNotNull(eEnum);
    assertEquals(3, eEnum.getELiterals().size());
    EEnumLiteral value = eEnum.getELiterals().get(0);
    assertEquals("Value1", value.getName());
    assertEquals(0, value.getValue());
    assertEquals("Value1", value.getLiteral());
    value = eEnum.getELiterals().get(1);
    assertEquals("Value2", value.getName());
    assertEquals(1, value.getValue());
    assertEquals("value", value.getLiteral());
    value = eEnum.getELiterals().get(2);
    assertEquals("Value3", value.getName());
    assertEquals(2, value.getValue());
    assertEquals("Value3", value.getLiteral());
}
Also used : EEnumLiteral(org.eclipse.emf.ecore.EEnumLiteral) Grammar(org.eclipse.xtext.Grammar) EEnum(org.eclipse.emf.ecore.EEnum) EPackage(org.eclipse.emf.ecore.EPackage) Test(org.junit.Test)

Example 19 with EEnum

use of org.eclipse.emf.ecore.EEnum in project xtext-core by eclipse.

the class GrammarParserTest method testEnum_02.

@Test
public void testEnum_02() throws Exception {
    String modelAsString = "grammar TestLanguage with org.eclipse.xtext.common.Terminals\n" + "generate testLanguage 'http://www.eclipse.org/2009/tmf/xtext/AbstractEnumRulesTest/TestEnum/2'\n" + "Model: enumValue=MyEnumRule;\n" + "enum MyEnumRule returns MyEnum: Value1;";
    Grammar grammar = (Grammar) getModel(modelAsString);
    assertTrue(grammar.eResource().getErrors().toString(), grammar.eResource().getErrors().isEmpty());
    checkEnums(grammar);
    EPackage pack = grammar.getMetamodelDeclarations().get(0).getEPackage();
    assertEquals("http://www.eclipse.org/2009/tmf/xtext/AbstractEnumRulesTest/TestEnum/2", pack.getNsURI());
    EEnum eEnum = (EEnum) pack.getEClassifier("MyEnum");
    assertNotNull(eEnum);
    assertEquals(1, eEnum.getELiterals().size());
    EEnumLiteral value = eEnum.getELiterals().get(0);
    assertEquals("Value1", value.getName());
    assertEquals(0, value.getValue());
    assertEquals("Value1", value.getLiteral());
}
Also used : EEnumLiteral(org.eclipse.emf.ecore.EEnumLiteral) Grammar(org.eclipse.xtext.Grammar) EEnum(org.eclipse.emf.ecore.EEnum) EPackage(org.eclipse.emf.ecore.EPackage) Test(org.junit.Test)

Example 20 with EEnum

use of org.eclipse.emf.ecore.EEnum in project xtext-core by eclipse.

the class GrammarParserTest method testEnum_10.

@Test
public void testEnum_10() throws Exception {
    String modelAsString = "grammar TestLanguage with org.eclipse.xtext.enumrules.EnumRulesTestLanguage\n" + "import 'classpath:/org/eclipse/xtext/enumrules/enums.ecore'\n" + "generate testLanguage 'http://www.eclipse.org/2009/tmf/xtext/AbstractEnumRulesTest/TestEnum/10'\n" + "Model: enumValue=ExistingEnum;\n" + "enum ExistingEnum: SameName;";
    Grammar grammar = (Grammar) getModel(modelAsString);
    assertTrue(grammar.eResource().getErrors().toString(), grammar.eResource().getErrors().isEmpty());
    checkEnums(grammar);
    EPackage pack = grammar.getMetamodelDeclarations().get(0).getEPackage();
    assertEquals("http://www.eclipse.org/2009/tmf/xtext/EnumRulesTestLanguage/imported", pack.getNsURI());
    EEnum eEnum = (EEnum) pack.getEClassifier("ExistingEnum");
    assertNotNull(eEnum);
    assertEquals(3, eEnum.getELiterals().size());
    EEnumLiteral value = eEnum.getELiterals().get(0);
    assertEquals(ExistingEnum.SAME_NAME.getName(), value.getName());
    assertEquals(ExistingEnum.SAME_NAME.getValue(), value.getValue());
    assertEquals(ExistingEnum.SAME_NAME.getLiteral(), value.getLiteral());
    EnumRule rule = (EnumRule) grammar.getRules().get(1);
    assertEquals(eEnum, rule.getType().getClassifier());
    EnumLiteralDeclaration decl = (EnumLiteralDeclaration) rule.getAlternatives();
    assertEquals(value, decl.getEnumLiteral());
    assertNotNull(decl.getLiteral());
    assertEquals("SameName", decl.getLiteral().getValue());
}
Also used : EnumRule(org.eclipse.xtext.EnumRule) EnumLiteralDeclaration(org.eclipse.xtext.EnumLiteralDeclaration) EEnumLiteral(org.eclipse.emf.ecore.EEnumLiteral) Grammar(org.eclipse.xtext.Grammar) EEnum(org.eclipse.emf.ecore.EEnum) EPackage(org.eclipse.emf.ecore.EPackage) Test(org.junit.Test)

Aggregations

EEnum (org.eclipse.emf.ecore.EEnum)51 EClass (org.eclipse.emf.ecore.EClass)28 EEnumLiteral (org.eclipse.emf.ecore.EEnumLiteral)22 EDataType (org.eclipse.emf.ecore.EDataType)14 EPackage (org.eclipse.emf.ecore.EPackage)13 EStructuralFeature (org.eclipse.emf.ecore.EStructuralFeature)10 Grammar (org.eclipse.xtext.Grammar)10 Test (org.junit.Test)9 HashMapVirtualObject (org.bimserver.shared.HashMapVirtualObject)8 EClassifier (org.eclipse.emf.ecore.EClassifier)8 EReference (org.eclipse.emf.ecore.EReference)7 BimserverDatabaseException (org.bimserver.BimserverDatabaseException)6 IdEObject (org.bimserver.emf.IdEObject)6 EObject (org.eclipse.emf.ecore.EObject)6 EnumRule (org.eclipse.xtext.EnumRule)6 EnumLiteralDeclaration (org.eclipse.xtext.EnumLiteralDeclaration)5 List (java.util.List)4 IdEObjectImpl (org.bimserver.emf.IdEObjectImpl)4 VirtualObject (org.bimserver.shared.VirtualObject)4 EAttribute (org.eclipse.emf.ecore.EAttribute)4