/** * <copyright> * </copyright> * * $Id$ */ package fr.inria.atlanmod.collaboro.history.impl; import fr.inria.atlanmod.collaboro.history.AbstractSyntaxElement; import fr.inria.atlanmod.collaboro.history.Add; import fr.inria.atlanmod.collaboro.history.Collaboration; import fr.inria.atlanmod.collaboro.history.Comment; import fr.inria.atlanmod.collaboro.history.ConcreteSyntaxElement; import fr.inria.atlanmod.collaboro.history.Delete; import fr.inria.atlanmod.collaboro.history.ExistingAbstractSyntaxElement; import fr.inria.atlanmod.collaboro.history.History; import fr.inria.atlanmod.collaboro.history.HistoryFactory; import fr.inria.atlanmod.collaboro.history.HistoryPackage; import fr.inria.atlanmod.collaboro.history.IdElement; import fr.inria.atlanmod.collaboro.history.MetaInfo; import fr.inria.atlanmod.collaboro.history.ModelChange; import fr.inria.atlanmod.collaboro.history.NewAbstractSyntaxElement; import fr.inria.atlanmod.collaboro.history.Priority; import fr.inria.atlanmod.collaboro.history.Proposal; import fr.inria.atlanmod.collaboro.history.Solution; import fr.inria.atlanmod.collaboro.history.SyntaxElement; import fr.inria.atlanmod.collaboro.history.Tag; import fr.inria.atlanmod.collaboro.history.TagBased; import fr.inria.atlanmod.collaboro.history.Update; import fr.inria.atlanmod.collaboro.history.User; import fr.inria.atlanmod.collaboro.history.Version; import fr.inria.atlanmod.collaboro.history.VersionHistory; import fr.inria.atlanmod.collaboro.history.VersionHistoryType; import fr.inria.atlanmod.collaboro.history.Vote; import fr.inria.atlanmod.collaboro.notation.NotationPackage; 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.EcorePackage; import org.eclipse.emf.ecore.impl.EPackageImpl; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class HistoryPackageImpl extends EPackageImpl implements HistoryPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass historyEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass versionHistoryEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass idElementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass userEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass versionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass voteEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass collaborationEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass proposalEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass solutionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass commentEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass modelChangeEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass addEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass updateEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass deleteEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass syntaxElementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass abstractSyntaxElementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass existingAbstractSyntaxElementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass newAbstractSyntaxElementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass concreteSyntaxElementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass metaInfoEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass priorityEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass tagBasedEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass tagEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum versionHistoryTypeEEnum = 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 fr.inria.atlanmod.collaboro.history.HistoryPackage#eNS_URI * @see #init() * @generated */ private HistoryPackageImpl() { super(eNS_URI, HistoryFactory.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 HistoryPackage#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 HistoryPackage init() { if (isInited) return (HistoryPackage)EPackage.Registry.INSTANCE.getEPackage(HistoryPackage.eNS_URI); // Obtain or create and register package HistoryPackageImpl theHistoryPackage = (HistoryPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HistoryPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HistoryPackageImpl()); isInited = true; // Initialize simple dependencies NotationPackage.eINSTANCE.eClass(); // Create package meta-data objects theHistoryPackage.createPackageContents(); // Initialize created meta-data theHistoryPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theHistoryPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(HistoryPackage.eNS_URI, theHistoryPackage); return theHistoryPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getHistory() { return historyEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getHistory_Users() { return (EReference)historyEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getHistory_Histories() { return (EReference)historyEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getHistory_Language() { return (EAttribute)historyEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getVersionHistory() { return versionHistoryEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getVersionHistory_Type() { return (EAttribute)versionHistoryEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getVersionHistory_Versions() { return (EReference)versionHistoryEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getIdElement() { return idElementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIdElement_Id() { return (EAttribute)idElementEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getUser() { return userEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getUser_Votes() { return (EReference)userEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getUser_Collaborations() { return (EReference)userEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getVersion() { return versionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getVersion_Proposals() { return (EReference)versionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getVersion_Previous() { return (EReference)versionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getVote() { return voteEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getVote_Agreement() { return (EAttribute)voteEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getVote_User() { return (EReference)voteEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getVote_Comment() { return (EReference)voteEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getVote_Collaboration() { return (EReference)voteEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getCollaboration() { return collaborationEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getCollaboration_Rationale() { return (EAttribute)collaborationEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getCollaboration_ProposedBy() { return (EReference)collaborationEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getCollaboration_Comments() { return (EReference)collaborationEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getCollaboration_Votes() { return (EReference)collaborationEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getProposal() { return proposalEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getProposal_Sols() { return (EReference)proposalEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getProposal_Selected() { return (EReference)proposalEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getProposal_Version() { return (EReference)proposalEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getProposal_Accepted() { return (EAttribute)proposalEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getProposal_Meta() { return (EReference)proposalEClass.getEStructuralFeatures().get(4); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSolution() { return solutionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSolution_Changes() { return (EReference)solutionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSolution_Proposal() { return (EReference)solutionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getComment() { return commentEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getComment_CommentedElement() { return (EReference)commentEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getComment_Included() { return (EAttribute)commentEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getModelChange() { return modelChangeEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getModelChange_Solution() { return (EReference)modelChangeEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getModelChange_ReferredElement() { return (EReference)modelChangeEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getModelChange_Target() { return (EReference)modelChangeEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAdd() { return addEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getUpdate() { return updateEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getUpdate_Source() { return (EReference)updateEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDelete() { return deleteEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSyntaxElement() { return syntaxElementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAbstractSyntaxElement() { return abstractSyntaxElementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExistingAbstractSyntaxElement() { return existingAbstractSyntaxElementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getExistingAbstractSyntaxElement_Element() { return (EReference)existingAbstractSyntaxElementEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getNewAbstractSyntaxElement() { return newAbstractSyntaxElementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getNewAbstractSyntaxElement_Element() { return (EReference)newAbstractSyntaxElementEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getConcreteSyntaxElement() { return concreteSyntaxElementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getConcreteSyntaxElement_Element() { return (EReference)concreteSyntaxElementEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getMetaInfo() { return metaInfoEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getMetaInfo_Proposal() { return (EReference)metaInfoEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getPriority() { return priorityEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getPriority_Value() { return (EAttribute)priorityEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTagBased() { return tagBasedEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTagBased_Tags() { return (EReference)tagBasedEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTag() { return tagEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getTag_Value() { return (EAttribute)tagEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTag_TagCollection() { return (EReference)tagEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getVersionHistoryType() { return versionHistoryTypeEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public HistoryFactory getHistoryFactory() { return (HistoryFactory)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 historyEClass = createEClass(HISTORY); createEReference(historyEClass, HISTORY__USERS); createEReference(historyEClass, HISTORY__HISTORIES); createEAttribute(historyEClass, HISTORY__LANGUAGE); versionHistoryEClass = createEClass(VERSION_HISTORY); createEAttribute(versionHistoryEClass, VERSION_HISTORY__TYPE); createEReference(versionHistoryEClass, VERSION_HISTORY__VERSIONS); idElementEClass = createEClass(ID_ELEMENT); createEAttribute(idElementEClass, ID_ELEMENT__ID); userEClass = createEClass(USER); createEReference(userEClass, USER__VOTES); createEReference(userEClass, USER__COLLABORATIONS); versionEClass = createEClass(VERSION); createEReference(versionEClass, VERSION__PROPOSALS); createEReference(versionEClass, VERSION__PREVIOUS); voteEClass = createEClass(VOTE); createEAttribute(voteEClass, VOTE__AGREEMENT); createEReference(voteEClass, VOTE__USER); createEReference(voteEClass, VOTE__COMMENT); createEReference(voteEClass, VOTE__COLLABORATION); collaborationEClass = createEClass(COLLABORATION); createEAttribute(collaborationEClass, COLLABORATION__RATIONALE); createEReference(collaborationEClass, COLLABORATION__PROPOSED_BY); createEReference(collaborationEClass, COLLABORATION__COMMENTS); createEReference(collaborationEClass, COLLABORATION__VOTES); proposalEClass = createEClass(PROPOSAL); createEReference(proposalEClass, PROPOSAL__SOLS); createEReference(proposalEClass, PROPOSAL__SELECTED); createEReference(proposalEClass, PROPOSAL__VERSION); createEAttribute(proposalEClass, PROPOSAL__ACCEPTED); createEReference(proposalEClass, PROPOSAL__META); solutionEClass = createEClass(SOLUTION); createEReference(solutionEClass, SOLUTION__CHANGES); createEReference(solutionEClass, SOLUTION__PROPOSAL); commentEClass = createEClass(COMMENT); createEReference(commentEClass, COMMENT__COMMENTED_ELEMENT); createEAttribute(commentEClass, COMMENT__INCLUDED); modelChangeEClass = createEClass(MODEL_CHANGE); createEReference(modelChangeEClass, MODEL_CHANGE__SOLUTION); createEReference(modelChangeEClass, MODEL_CHANGE__REFERRED_ELEMENT); createEReference(modelChangeEClass, MODEL_CHANGE__TARGET); addEClass = createEClass(ADD); updateEClass = createEClass(UPDATE); createEReference(updateEClass, UPDATE__SOURCE); deleteEClass = createEClass(DELETE); syntaxElementEClass = createEClass(SYNTAX_ELEMENT); abstractSyntaxElementEClass = createEClass(ABSTRACT_SYNTAX_ELEMENT); existingAbstractSyntaxElementEClass = createEClass(EXISTING_ABSTRACT_SYNTAX_ELEMENT); createEReference(existingAbstractSyntaxElementEClass, EXISTING_ABSTRACT_SYNTAX_ELEMENT__ELEMENT); newAbstractSyntaxElementEClass = createEClass(NEW_ABSTRACT_SYNTAX_ELEMENT); createEReference(newAbstractSyntaxElementEClass, NEW_ABSTRACT_SYNTAX_ELEMENT__ELEMENT); concreteSyntaxElementEClass = createEClass(CONCRETE_SYNTAX_ELEMENT); createEReference(concreteSyntaxElementEClass, CONCRETE_SYNTAX_ELEMENT__ELEMENT); metaInfoEClass = createEClass(META_INFO); createEReference(metaInfoEClass, META_INFO__PROPOSAL); priorityEClass = createEClass(PRIORITY); createEAttribute(priorityEClass, PRIORITY__VALUE); tagBasedEClass = createEClass(TAG_BASED); createEReference(tagBasedEClass, TAG_BASED__TAGS); tagEClass = createEClass(TAG); createEAttribute(tagEClass, TAG__VALUE); createEReference(tagEClass, TAG__TAG_COLLECTION); // Create enums versionHistoryTypeEEnum = createEEnum(VERSION_HISTORY_TYPE); } /** * <!-- 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); // Obtain other dependent packages EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI); NotationPackage theNotationPackage = (NotationPackage)EPackage.Registry.INSTANCE.getEPackage(NotationPackage.eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes userEClass.getESuperTypes().add(this.getIdElement()); versionEClass.getESuperTypes().add(this.getIdElement()); collaborationEClass.getESuperTypes().add(this.getIdElement()); proposalEClass.getESuperTypes().add(this.getCollaboration()); solutionEClass.getESuperTypes().add(this.getCollaboration()); commentEClass.getESuperTypes().add(this.getCollaboration()); addEClass.getESuperTypes().add(this.getModelChange()); updateEClass.getESuperTypes().add(this.getModelChange()); deleteEClass.getESuperTypes().add(this.getModelChange()); syntaxElementEClass.getESuperTypes().add(this.getIdElement()); abstractSyntaxElementEClass.getESuperTypes().add(this.getSyntaxElement()); existingAbstractSyntaxElementEClass.getESuperTypes().add(this.getAbstractSyntaxElement()); newAbstractSyntaxElementEClass.getESuperTypes().add(this.getAbstractSyntaxElement()); concreteSyntaxElementEClass.getESuperTypes().add(this.getSyntaxElement()); priorityEClass.getESuperTypes().add(this.getMetaInfo()); tagBasedEClass.getESuperTypes().add(this.getMetaInfo()); // Initialize classes and features; add operations and parameters initEClass(historyEClass, History.class, "History", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getHistory_Users(), this.getUser(), null, "users", null, 0, -1, History.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getHistory_Histories(), this.getVersionHistory(), null, "histories", null, 0, -1, History.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getHistory_Language(), ecorePackage.getEString(), "language", null, 0, 1, History.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(versionHistoryEClass, VersionHistory.class, "VersionHistory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getVersionHistory_Type(), this.getVersionHistoryType(), "type", null, 1, 1, VersionHistory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getVersionHistory_Versions(), this.getVersion(), null, "versions", null, 0, -1, VersionHistory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(idElementEClass, IdElement.class, "IdElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getIdElement_Id(), ecorePackage.getEString(), "id", null, 0, 1, IdElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(userEClass, User.class, "User", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getUser_Votes(), this.getVote(), this.getVote_User(), "votes", null, 0, -1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getUser_Collaborations(), this.getCollaboration(), this.getCollaboration_ProposedBy(), "collaborations", null, 0, -1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(versionEClass, Version.class, "Version", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getVersion_Proposals(), this.getProposal(), this.getProposal_Version(), "proposals", null, 0, -1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getVersion_Previous(), this.getVersion(), null, "previous", null, 0, -1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(voteEClass, Vote.class, "Vote", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getVote_Agreement(), ecorePackage.getEBoolean(), "agreement", null, 0, 1, Vote.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getVote_User(), this.getUser(), this.getUser_Votes(), "user", null, 0, 1, Vote.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getVote_Comment(), this.getComment(), null, "comment", null, 0, 1, Vote.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getVote_Collaboration(), this.getCollaboration(), this.getCollaboration_Votes(), "collaboration", null, 0, 1, Vote.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(collaborationEClass, Collaboration.class, "Collaboration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getCollaboration_Rationale(), ecorePackage.getEString(), "rationale", null, 0, 1, Collaboration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getCollaboration_ProposedBy(), this.getUser(), this.getUser_Collaborations(), "proposedBy", null, 0, 1, Collaboration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getCollaboration_Comments(), this.getComment(), this.getComment_CommentedElement(), "comments", null, 0, -1, Collaboration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getCollaboration_Votes(), this.getVote(), this.getVote_Collaboration(), "votes", null, 0, -1, Collaboration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(proposalEClass, Proposal.class, "Proposal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getProposal_Sols(), this.getSolution(), this.getSolution_Proposal(), "sols", null, 0, -1, Proposal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getProposal_Selected(), this.getSolution(), null, "selected", null, 0, 1, Proposal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getProposal_Version(), this.getVersion(), this.getVersion_Proposals(), "version", null, 0, 1, Proposal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getProposal_Accepted(), ecorePackage.getEBoolean(), "accepted", null, 0, 1, Proposal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getProposal_Meta(), this.getMetaInfo(), this.getMetaInfo_Proposal(), "meta", null, 0, -1, Proposal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(solutionEClass, Solution.class, "Solution", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSolution_Changes(), this.getModelChange(), this.getModelChange_Solution(), "changes", null, 0, -1, Solution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSolution_Proposal(), this.getProposal(), this.getProposal_Sols(), "proposal", null, 0, 1, Solution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(commentEClass, Comment.class, "Comment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getComment_CommentedElement(), this.getCollaboration(), this.getCollaboration_Comments(), "commentedElement", null, 0, 1, Comment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getComment_Included(), ecorePackage.getEBoolean(), "included", null, 0, 1, Comment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(modelChangeEClass, ModelChange.class, "ModelChange", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getModelChange_Solution(), this.getSolution(), this.getSolution_Changes(), "solution", null, 0, 1, ModelChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getModelChange_ReferredElement(), this.getSyntaxElement(), null, "referredElement", null, 1, 1, ModelChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getModelChange_Target(), this.getSyntaxElement(), null, "target", null, 1, 1, ModelChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(addEClass, Add.class, "Add", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(updateEClass, Update.class, "Update", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getUpdate_Source(), this.getSyntaxElement(), null, "source", null, 1, 1, Update.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(deleteEClass, Delete.class, "Delete", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(syntaxElementEClass, SyntaxElement.class, "SyntaxElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(abstractSyntaxElementEClass, AbstractSyntaxElement.class, "AbstractSyntaxElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(existingAbstractSyntaxElementEClass, ExistingAbstractSyntaxElement.class, "ExistingAbstractSyntaxElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getExistingAbstractSyntaxElement_Element(), theEcorePackage.getEModelElement(), null, "element", null, 1, 1, ExistingAbstractSyntaxElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(newAbstractSyntaxElementEClass, NewAbstractSyntaxElement.class, "NewAbstractSyntaxElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getNewAbstractSyntaxElement_Element(), theEcorePackage.getEModelElement(), null, "element", null, 1, 1, NewAbstractSyntaxElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(concreteSyntaxElementEClass, ConcreteSyntaxElement.class, "ConcreteSyntaxElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getConcreteSyntaxElement_Element(), theNotationPackage.getNotationElement(), null, "element", null, 1, 1, ConcreteSyntaxElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(metaInfoEClass, MetaInfo.class, "MetaInfo", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getMetaInfo_Proposal(), this.getProposal(), this.getProposal_Meta(), "proposal", null, 0, 1, MetaInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(priorityEClass, Priority.class, "Priority", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getPriority_Value(), ecorePackage.getEString(), "value", null, 0, 1, Priority.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(tagBasedEClass, TagBased.class, "TagBased", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTagBased_Tags(), this.getTag(), this.getTag_TagCollection(), "tags", null, 0, -1, TagBased.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(tagEClass, Tag.class, "Tag", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getTag_Value(), ecorePackage.getEString(), "value", null, 0, 1, Tag.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getTag_TagCollection(), this.getTagBased(), this.getTagBased_Tags(), "tagCollection", null, 0, 1, Tag.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(versionHistoryTypeEEnum, VersionHistoryType.class, "VersionHistoryType"); addEEnumLiteral(versionHistoryTypeEEnum, VersionHistoryType.TRUNK); addEEnumLiteral(versionHistoryTypeEEnum, VersionHistoryType.BRANCH); // Create resource createResource(eNS_URI); } } //HistoryPackageImpl