/** */ package de.sebastianbenz.task.query.impl; import de.sebastianbenz.task.query.AndExpr; import de.sebastianbenz.task.query.Atom; import de.sebastianbenz.task.query.CompEqExpr; import de.sebastianbenz.task.query.CompEqOperator; import de.sebastianbenz.task.query.CompExpr; import de.sebastianbenz.task.query.CompOperator; import de.sebastianbenz.task.query.Expression; import de.sebastianbenz.task.query.OrExpr; import de.sebastianbenz.task.query.ParenExpr; import de.sebastianbenz.task.query.Phrase; import de.sebastianbenz.task.query.ProjectReference; import de.sebastianbenz.task.query.Query; import de.sebastianbenz.task.query.QueryFactory; import de.sebastianbenz.task.query.QueryPackage; import de.sebastianbenz.task.query.TagReference; import de.sebastianbenz.task.query.TaskReference; import de.sebastianbenz.task.query.TextReference; import de.sebastianbenz.task.query.UnaryExpr; import de.sebastianbenz.task.query.Value; import de.sebastianbenz.task.query.Word; import de.sebastianbenz.task.query.Words; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class QueryPackageImpl extends EPackageImpl implements QueryPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass queryEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass expressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass atomEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass valueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass parenExprEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass projectReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass taskReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass textReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass wordsEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass wordEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass phraseEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass tagReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass orExprEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass andExprEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass compEqExprEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass compExprEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass unaryExprEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum compEqOperatorEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum compOperatorEEnum = null; /** * Creates an instance of the model <b>Package</b>, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package * package URI value. * <p>Note: the correct way to create the package is via the static * factory method {@link #init init()}, which also performs * initialization of the package, or returns the registered package, * if one already exists. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see org.eclipse.emf.ecore.EPackage.Registry * @see de.sebastianbenz.task.query.QueryPackage#eNS_URI * @see #init() * @generated */ private QueryPackageImpl() { super(eNS_URI, QueryFactory.eINSTANCE); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private static boolean isInited = false; /** * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. * * <p>This method is used to initialize {@link QueryPackage#eINSTANCE} when that field is accessed. * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #eNS_URI * @see #createPackageContents() * @see #initializePackageContents() * @generated */ public static QueryPackage init() { if (isInited) return (QueryPackage)EPackage.Registry.INSTANCE.getEPackage(QueryPackage.eNS_URI); // Obtain or create and register package QueryPackageImpl theQueryPackage = (QueryPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof QueryPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new QueryPackageImpl()); isInited = true; // Create package meta-data objects theQueryPackage.createPackageContents(); // Initialize created meta-data theQueryPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theQueryPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(QueryPackage.eNS_URI, theQueryPackage); return theQueryPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getQuery() { return queryEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getQuery_Expression() { return (EReference)queryEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExpression() { return expressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAtom() { return atomEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getValue() { return valueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getValue_Value() { return (EAttribute)valueEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getParenExpr() { return parenExprEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getParenExpr_Expr() { return (EReference)parenExprEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getProjectReference() { return projectReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTaskReference() { return taskReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTextReference() { return textReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getWords() { return wordsEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getWords_Values() { return (EAttribute)wordsEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getWord() { return wordEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getPhrase() { return phraseEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTagReference() { return tagReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getOrExpr() { return orExprEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getOrExpr_Left() { return (EReference)orExprEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getOrExpr_Right() { return (EReference)orExprEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAndExpr() { return andExprEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAndExpr_Left() { return (EReference)andExprEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAndExpr_Right() { return (EReference)andExprEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getCompEqExpr() { return compEqExprEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getCompEqExpr_Left() { return (EReference)compEqExprEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getCompEqExpr_Operator() { return (EAttribute)compEqExprEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getCompEqExpr_Right() { return (EReference)compEqExprEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getCompExpr() { return compExprEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getCompExpr_Left() { return (EReference)compExprEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getCompExpr_Operator() { return (EAttribute)compExprEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getCompExpr_Right() { return (EReference)compExprEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getUnaryExpr() { return unaryExprEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getUnaryExpr_Expr() { return (EReference)unaryExprEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getCompEqOperator() { return compEqOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getCompOperator() { return compOperatorEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public QueryFactory getQueryFactory() { return (QueryFactory)getEFactoryInstance(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private boolean isCreated = false; /** * Creates the meta-model objects for the package. This method is * guarded to have no affect on any invocation but its first. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void createPackageContents() { if (isCreated) return; isCreated = true; // Create classes and their features queryEClass = createEClass(QUERY); createEReference(queryEClass, QUERY__EXPRESSION); expressionEClass = createEClass(EXPRESSION); atomEClass = createEClass(ATOM); valueEClass = createEClass(VALUE); createEAttribute(valueEClass, VALUE__VALUE); parenExprEClass = createEClass(PAREN_EXPR); createEReference(parenExprEClass, PAREN_EXPR__EXPR); projectReferenceEClass = createEClass(PROJECT_REFERENCE); taskReferenceEClass = createEClass(TASK_REFERENCE); textReferenceEClass = createEClass(TEXT_REFERENCE); wordsEClass = createEClass(WORDS); createEAttribute(wordsEClass, WORDS__VALUES); wordEClass = createEClass(WORD); phraseEClass = createEClass(PHRASE); tagReferenceEClass = createEClass(TAG_REFERENCE); orExprEClass = createEClass(OR_EXPR); createEReference(orExprEClass, OR_EXPR__LEFT); createEReference(orExprEClass, OR_EXPR__RIGHT); andExprEClass = createEClass(AND_EXPR); createEReference(andExprEClass, AND_EXPR__LEFT); createEReference(andExprEClass, AND_EXPR__RIGHT); compEqExprEClass = createEClass(COMP_EQ_EXPR); createEReference(compEqExprEClass, COMP_EQ_EXPR__LEFT); createEAttribute(compEqExprEClass, COMP_EQ_EXPR__OPERATOR); createEReference(compEqExprEClass, COMP_EQ_EXPR__RIGHT); compExprEClass = createEClass(COMP_EXPR); createEReference(compExprEClass, COMP_EXPR__LEFT); createEAttribute(compExprEClass, COMP_EXPR__OPERATOR); createEReference(compExprEClass, COMP_EXPR__RIGHT); unaryExprEClass = createEClass(UNARY_EXPR); createEReference(unaryExprEClass, UNARY_EXPR__EXPR); // Create enums compEqOperatorEEnum = createEEnum(COMP_EQ_OPERATOR); compOperatorEEnum = createEEnum(COMP_OPERATOR); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private boolean isInitialized = false; /** * Complete the initialization of the package and its meta-model. This * method is guarded to have no affect on any invocation but its first. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void initializePackageContents() { if (isInitialized) return; isInitialized = true; // Initialize package setName(eNAME); setNsPrefix(eNS_PREFIX); setNsURI(eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes atomEClass.getESuperTypes().add(this.getExpression()); valueEClass.getESuperTypes().add(this.getAtom()); parenExprEClass.getESuperTypes().add(this.getAtom()); projectReferenceEClass.getESuperTypes().add(this.getValue()); taskReferenceEClass.getESuperTypes().add(this.getValue()); textReferenceEClass.getESuperTypes().add(this.getValue()); wordsEClass.getESuperTypes().add(this.getAtom()); wordEClass.getESuperTypes().add(this.getValue()); phraseEClass.getESuperTypes().add(this.getValue()); tagReferenceEClass.getESuperTypes().add(this.getValue()); orExprEClass.getESuperTypes().add(this.getExpression()); andExprEClass.getESuperTypes().add(this.getExpression()); compEqExprEClass.getESuperTypes().add(this.getExpression()); compExprEClass.getESuperTypes().add(this.getExpression()); unaryExprEClass.getESuperTypes().add(this.getExpression()); // Initialize classes and features; add operations and parameters initEClass(queryEClass, Query.class, "Query", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getQuery_Expression(), this.getExpression(), null, "expression", null, 0, 1, Query.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(atomEClass, Atom.class, "Atom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(valueEClass, Value.class, "Value", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getValue_Value(), ecorePackage.getEString(), "value", null, 0, 1, Value.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(parenExprEClass, ParenExpr.class, "ParenExpr", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getParenExpr_Expr(), this.getExpression(), null, "expr", null, 0, 1, ParenExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(projectReferenceEClass, ProjectReference.class, "ProjectReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(taskReferenceEClass, TaskReference.class, "TaskReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(textReferenceEClass, TextReference.class, "TextReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(wordsEClass, Words.class, "Words", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getWords_Values(), ecorePackage.getEString(), "values", null, 0, -1, Words.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(wordEClass, Word.class, "Word", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(phraseEClass, Phrase.class, "Phrase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(tagReferenceEClass, TagReference.class, "TagReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(orExprEClass, OrExpr.class, "OrExpr", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getOrExpr_Left(), this.getExpression(), null, "left", null, 0, 1, OrExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getOrExpr_Right(), this.getExpression(), null, "right", null, 0, 1, OrExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(andExprEClass, AndExpr.class, "AndExpr", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAndExpr_Left(), this.getExpression(), null, "left", null, 0, 1, AndExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAndExpr_Right(), this.getExpression(), null, "right", null, 0, 1, AndExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(compEqExprEClass, CompEqExpr.class, "CompEqExpr", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getCompEqExpr_Left(), this.getExpression(), null, "left", null, 0, 1, CompEqExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getCompEqExpr_Operator(), this.getCompEqOperator(), "operator", null, 0, 1, CompEqExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getCompEqExpr_Right(), this.getExpression(), null, "right", null, 0, 1, CompEqExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(compExprEClass, CompExpr.class, "CompExpr", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getCompExpr_Left(), this.getExpression(), null, "left", null, 0, 1, CompExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getCompExpr_Operator(), this.getCompOperator(), "operator", null, 0, 1, CompExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getCompExpr_Right(), this.getExpression(), null, "right", null, 0, 1, CompExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(unaryExprEClass, UnaryExpr.class, "UnaryExpr", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getUnaryExpr_Expr(), this.getExpression(), null, "expr", null, 0, 1, UnaryExpr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Initialize enums and add enum literals initEEnum(compEqOperatorEEnum, CompEqOperator.class, "CompEqOperator"); addEEnumLiteral(compEqOperatorEEnum, CompEqOperator.EQUAL); addEEnumLiteral(compEqOperatorEEnum, CompEqOperator.NOT_EQUAL); initEEnum(compOperatorEEnum, CompOperator.class, "CompOperator"); addEEnumLiteral(compOperatorEEnum, CompOperator.LESS_EQUAL); addEEnumLiteral(compOperatorEEnum, CompOperator.LESS); addEEnumLiteral(compOperatorEEnum, CompOperator.GREATER_EQUAL); addEEnumLiteral(compOperatorEEnum, CompOperator.GREATER); // Create resource createResource(eNS_URI); } } //QueryPackageImpl