blob: ffb93b50df9e6097615009a289cb11b915788f90 [file] [log] [blame]
/**
* Copyright (c) 2017 CEA LIST. All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available a; http://www.eclipse.org/legal/epl-v10.html Contributors: - Initial API and implementation Yupanqui Munoz Julho (CEA LIST) - Initial API and implementation
*/
package org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.impl;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
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;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.AuthorReq;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.Backlog;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.BasicRequirementFactory;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.BasicRequirementPackage;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.LevelReq;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.PriorityReqCharac;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.Requirement;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.ReviewStatusReqCharac;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.SourceReq;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.VersionReq;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.Glossary.GlossaryPackage;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.Glossary.impl.GlossaryPackageImpl;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.PapyrusREPackage;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.RequirementClassification.RequirementClassificationPackage;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.RequirementClassification.impl.RequirementClassificationPackageImpl;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.RequirementKind.RequirementKindPackage;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.RequirementKind.impl.RequirementKindPackageImpl;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.Stakeholder.StakeholderPackage;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.Stakeholder.impl.StakeholderPackageImpl;
import org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.impl.PapyrusREPackageImpl;
import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
import org.eclipse.uml2.types.TypesPackage;
import org.eclipse.uml2.uml.UMLPackage;
import org.eclipse.uml2.uml.profile.standard.StandardPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class BasicRequirementPackageImpl extends EPackageImpl implements BasicRequirementPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass requirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass authorReqEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass priorityReqCharacEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass sourceReqEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass reviewStatusReqCharacEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass versionReqEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass levelReqEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass backlogEClass = 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 org.eclipse.papyrus.requirements.sysml.papyrusre.papyrusre.BasicRequirement.BasicRequirementPackage#eNS_URI
* @see #init()
* @generated
*/
private BasicRequirementPackageImpl() {
super(eNS_URI, BasicRequirementFactory.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 BasicRequirementPackage#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 BasicRequirementPackage init() {
if (isInited) return (BasicRequirementPackage)EPackage.Registry.INSTANCE.getEPackage(BasicRequirementPackage.eNS_URI);
// Obtain or create and register package
Object registeredBasicRequirementPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
BasicRequirementPackageImpl theBasicRequirementPackage = registeredBasicRequirementPackage instanceof BasicRequirementPackageImpl ? (BasicRequirementPackageImpl)registeredBasicRequirementPackage : new BasicRequirementPackageImpl();
isInited = true;
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
StandardPackage.eINSTANCE.eClass();
SysMLPackage.eINSTANCE.eClass();
TypesPackage.eINSTANCE.eClass();
UMLPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PapyrusREPackage.eNS_URI);
PapyrusREPackageImpl thePapyrusREPackage = (PapyrusREPackageImpl)(registeredPackage instanceof PapyrusREPackageImpl ? registeredPackage : PapyrusREPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(StakeholderPackage.eNS_URI);
StakeholderPackageImpl theStakeholderPackage = (StakeholderPackageImpl)(registeredPackage instanceof StakeholderPackageImpl ? registeredPackage : StakeholderPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementKindPackage.eNS_URI);
RequirementKindPackageImpl theRequirementKindPackage = (RequirementKindPackageImpl)(registeredPackage instanceof RequirementKindPackageImpl ? registeredPackage : RequirementKindPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementClassificationPackage.eNS_URI);
RequirementClassificationPackageImpl theRequirementClassificationPackage = (RequirementClassificationPackageImpl)(registeredPackage instanceof RequirementClassificationPackageImpl ? registeredPackage : RequirementClassificationPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(GlossaryPackage.eNS_URI);
GlossaryPackageImpl theGlossaryPackage = (GlossaryPackageImpl)(registeredPackage instanceof GlossaryPackageImpl ? registeredPackage : GlossaryPackage.eINSTANCE);
// Create package meta-data objects
theBasicRequirementPackage.createPackageContents();
thePapyrusREPackage.createPackageContents();
theStakeholderPackage.createPackageContents();
theRequirementKindPackage.createPackageContents();
theRequirementClassificationPackage.createPackageContents();
theGlossaryPackage.createPackageContents();
// Initialize created meta-data
theBasicRequirementPackage.initializePackageContents();
thePapyrusREPackage.initializePackageContents();
theStakeholderPackage.initializePackageContents();
theRequirementKindPackage.initializePackageContents();
theRequirementClassificationPackage.initializePackageContents();
theGlossaryPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theBasicRequirementPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(BasicRequirementPackage.eNS_URI, theBasicRequirementPackage);
return theBasicRequirementPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getRequirement() {
return requirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getAuthorReq() {
return authorReqEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getAuthorReq_Author() {
return (EAttribute)authorReqEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPriorityReqCharac() {
return priorityReqCharacEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getPriorityReqCharac_Priority() {
return (EAttribute)priorityReqCharacEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getSourceReq() {
return sourceReqEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getSourceReq_Source() {
return (EReference)sourceReqEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getReviewStatusReqCharac() {
return reviewStatusReqCharacEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getReviewStatusReqCharac_ReviewStatus() {
return (EReference)reviewStatusReqCharacEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getVersionReq() {
return versionReqEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getVersionReq_Version() {
return (EAttribute)versionReqEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLevelReq() {
return levelReqEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLevelReq_Level() {
return (EReference)levelReqEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getBacklog() {
return backlogEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getBacklog_Base_Package() {
return (EReference)backlogEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public BasicRequirementFactory getBasicRequirementFactory() {
return (BasicRequirementFactory)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
requirementEClass = createEClass(REQUIREMENT);
authorReqEClass = createEClass(AUTHOR_REQ);
createEAttribute(authorReqEClass, AUTHOR_REQ__AUTHOR);
priorityReqCharacEClass = createEClass(PRIORITY_REQ_CHARAC);
createEAttribute(priorityReqCharacEClass, PRIORITY_REQ_CHARAC__PRIORITY);
sourceReqEClass = createEClass(SOURCE_REQ);
createEReference(sourceReqEClass, SOURCE_REQ__SOURCE);
reviewStatusReqCharacEClass = createEClass(REVIEW_STATUS_REQ_CHARAC);
createEReference(reviewStatusReqCharacEClass, REVIEW_STATUS_REQ_CHARAC__REVIEW_STATUS);
versionReqEClass = createEClass(VERSION_REQ);
createEAttribute(versionReqEClass, VERSION_REQ__VERSION);
levelReqEClass = createEClass(LEVEL_REQ);
createEReference(levelReqEClass, LEVEL_REQ__LEVEL);
backlogEClass = createEClass(BACKLOG);
createEReference(backlogEClass, BACKLOG__BASE_PACKAGE);
}
/**
* <!-- 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
RequirementsPackage theRequirementsPackage = (RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
StakeholderPackage theStakeholderPackage = (StakeholderPackage)EPackage.Registry.INSTANCE.getEPackage(StakeholderPackage.eNS_URI);
RequirementKindPackage theRequirementKindPackage = (RequirementKindPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementKindPackage.eNS_URI);
UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
requirementEClass.getESuperTypes().add(theRequirementsPackage.getRequirement());
requirementEClass.getESuperTypes().add(this.getAuthorReq());
requirementEClass.getESuperTypes().add(this.getLevelReq());
requirementEClass.getESuperTypes().add(this.getPriorityReqCharac());
requirementEClass.getESuperTypes().add(this.getReviewStatusReqCharac());
requirementEClass.getESuperTypes().add(this.getSourceReq());
requirementEClass.getESuperTypes().add(this.getVersionReq());
backlogEClass.getESuperTypes().add(this.getVersionReq());
// Initialize classes, features, and operations; add parameters
initEClass(requirementEClass, Requirement.class, "Requirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEClass(authorReqEClass, AuthorReq.class, "AuthorReq", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getAuthorReq_Author(), theTypesPackage.getString(), "author", null, 0, 1, AuthorReq.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEClass(priorityReqCharacEClass, PriorityReqCharac.class, "PriorityReqCharac", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getPriorityReqCharac_Priority(), theTypesPackage.getInteger(), "priority", null, 0, 1, PriorityReqCharac.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEClass(sourceReqEClass, SourceReq.class, "SourceReq", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getSourceReq_Source(), theStakeholderPackage.getRequirementSource(), null, "source", null, 1, -1, SourceReq.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEClass(reviewStatusReqCharacEClass, ReviewStatusReqCharac.class, "ReviewStatusReqCharac", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getReviewStatusReqCharac_ReviewStatus(), theRequirementKindPackage.getStatusKind(), null, "reviewStatus", null, 0, 1, ReviewStatusReqCharac.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEClass(versionReqEClass, VersionReq.class, "VersionReq", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getVersionReq_Version(), theTypesPackage.getString(), "version", "1.0.0", 1, 1, VersionReq.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEClass(levelReqEClass, LevelReq.class, "LevelReq", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getLevelReq_Level(), theRequirementKindPackage.getLevelKind(), null, "level", null, 1, 1, LevelReq.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEClass(backlogEClass, Backlog.class, "Backlog", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getBacklog_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Backlog.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
}
} //BasicRequirementPackageImpl