blob: 03414e431edf106d6b69e620efbc6ecd4827e8d5 [file] [log] [blame]
/**
* Copyright (c)2020 CEA LIST, Committer Name, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* CEA LIST - Initial API and implementation
* Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
* Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
*
*/
package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl;
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;
import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AnanomityRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UndectabilityRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRFactory;
import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
import org.eclipse.uml2.types.TypesPackage;
import org.eclipse.uml2.uml.UMLPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class pdp4engReqGDPRPackageImpl extends EPackageImpl implements pdp4engReqGDPRPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass processRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass stakeholderEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass personalDataRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass gdprPrincipleEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass processPrincipleEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass purposePersonalDataPrincipleEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dataMinimisationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass purposeLimitationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass accuracyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass storageLimitationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass lawfulEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass fairlyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass transparencyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass securitySafetyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass relatedToEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass availableAtEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass derivedFromEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dataRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass linkableEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass generatedRequirementsEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dataFlowRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dataSubjectsEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dataRequirementsEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass availableInformationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass personalInformationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass availableInformationContainerEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass personalInformationContainerEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass unlinkabilityRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass privacyRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dataUnlinkabilityRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass controlersEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass linkEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass undectabilityRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass pseudonimityRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass ananomityRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dataRecordRequirementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass functionalRequirementsEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass nonFunctionalRequirementsEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass lawfulByConsentEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass lawfulByContractEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass lawfulByPublicInterestEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass lawfulByLegitimateInterestEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass lawfulByLegalObligationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass lawfulByVitalInterestEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum linkabilityEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum collectionMethodEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum durationEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum pseudonymKindEEnum = 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.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#eNS_URI
* @see #init()
* @generated
*/
private pdp4engReqGDPRPackageImpl() {
super(eNS_URI, pdp4engReqGDPRFactory.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 pdp4engReqGDPRPackage#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 pdp4engReqGDPRPackage init() {
if (isInited) return (pdp4engReqGDPRPackage)EPackage.Registry.INSTANCE.getEPackage(pdp4engReqGDPRPackage.eNS_URI);
// Obtain or create and register package
Object registeredpdp4engReqGDPRPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
pdp4engReqGDPRPackageImpl thepdp4engReqGDPRPackage = registeredpdp4engReqGDPRPackage instanceof pdp4engReqGDPRPackageImpl ? (pdp4engReqGDPRPackageImpl)registeredpdp4engReqGDPRPackage : new pdp4engReqGDPRPackageImpl();
isInited = true;
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
Pdp4engCommonGDPRPackage.eINSTANCE.eClass();
TypesPackage.eINSTANCE.eClass();
UMLPackage.eINSTANCE.eClass();
// Create package meta-data objects
thepdp4engReqGDPRPackage.createPackageContents();
// Initialize created meta-data
thepdp4engReqGDPRPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
thepdp4engReqGDPRPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(pdp4engReqGDPRPackage.eNS_URI, thepdp4engReqGDPRPackage);
return thepdp4engReqGDPRPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getProcessRequirement() {
return processRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getProcessRequirement_Requester() {
return (EReference)processRequirementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getStakeholder() {
return stakeholderEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getStakeholder_Base_NamedElement() {
return (EReference)stakeholderEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPersonalDataRequirement() {
return personalDataRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPersonalDataRequirement_Source() {
return (EReference)personalDataRequirementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getGDPRPrinciple() {
return gdprPrincipleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getGDPRPrinciple_Base_NamedElement() {
return (EReference)gdprPrincipleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getProcessPrinciple() {
return processPrincipleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getProcessPrinciple_Process() {
return (EReference)processPrincipleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getProcessPrinciple_DataSubject() {
return (EReference)processPrincipleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getProcessPrinciple_PersonalData() {
return (EReference)processPrincipleEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPurposePersonalDataPrinciple() {
return purposePersonalDataPrincipleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPurposePersonalDataPrinciple_Purpose() {
return (EReference)purposePersonalDataPrincipleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPurposePersonalDataPrinciple_PersonalData() {
return (EReference)purposePersonalDataPrincipleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getDataMinimisation() {
return dataMinimisationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPurposeLimitation() {
return purposeLimitationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getAccuracy() {
return accuracyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getStorageLimitation() {
return storageLimitationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLawful() {
return lawfulEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getFairly() {
return fairlyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getTransparency() {
return transparencyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getSecuritySafety() {
return securitySafetyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getRelatedTo() {
return relatedToEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getRelatedTo_Sensitive() {
return (EAttribute)relatedToEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getRelatedTo_Linkability() {
return (EAttribute)relatedToEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getRelatedTo_Collection() {
return (EAttribute)relatedToEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getRelatedTo_Base_Element() {
return (EReference)relatedToEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getAvailableAt() {
return availableAtEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getAvailableAt_Duration() {
return (EAttribute)availableAtEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getAvailableAt_Base_Element() {
return (EReference)availableAtEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getDerivedFrom() {
return derivedFromEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDerivedFrom_Base_Element() {
return (EReference)derivedFromEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getDataRequirement() {
return dataRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLinkable() {
return linkableEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getLinkable_Duration() {
return (EAttribute)linkableEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getLinkable_Linkability() {
return (EAttribute)linkableEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLinkable_Base_Element() {
return (EReference)linkableEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getGeneratedRequirements() {
return generatedRequirementsEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getGeneratedRequirements_Base_Package() {
return (EReference)generatedRequirementsEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getDataFlowRequirement() {
return dataFlowRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataFlowRequirement_Base_Activity() {
return (EReference)dataFlowRequirementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getDataSubjects() {
return dataSubjectsEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataSubjects_Base_Package() {
return (EReference)dataSubjectsEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getDataRequirements() {
return dataRequirementsEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataRequirements_Base_Package() {
return (EReference)dataRequirementsEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getAvailableInformation() {
return availableInformationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getAvailableInformation_Base_Package() {
return (EReference)availableInformationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getAvailableInformation_Concerns() {
return (EReference)availableInformationEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPersonalInformation() {
return personalInformationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPersonalInformation_Base_Package() {
return (EReference)personalInformationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPersonalInformation_Concerns() {
return (EReference)personalInformationEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getAvailableInformationContainer() {
return availableInformationContainerEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getAvailableInformationContainer_Base_Package() {
return (EReference)availableInformationContainerEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPersonalInformationContainer() {
return personalInformationContainerEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPersonalInformationContainer_Base_Package() {
return (EReference)personalInformationContainerEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getUnlinkabilityRequirement() {
return unlinkabilityRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getUnlinkabilityRequirement_Linkability() {
return (EAttribute)unlinkabilityRequirementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPrivacyRequirement() {
return privacyRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPrivacyRequirement_Base_NamedElement() {
return (EReference)privacyRequirementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPrivacyRequirement_DataSubject() {
return (EReference)privacyRequirementEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPrivacyRequirement_Counterstakeholders() {
return (EReference)privacyRequirementEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPrivacyRequirement_PersonalData() {
return (EReference)privacyRequirementEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getDataUnlinkabilityRequirement() {
return dataUnlinkabilityRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataUnlinkabilityRequirement_Links() {
return (EReference)dataUnlinkabilityRequirementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getControlers() {
return controlersEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getControlers_Base_Package() {
return (EReference)controlersEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLink() {
return linkEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLink_Base_NamedElement() {
return (EReference)linkEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getLink_Linkability() {
return (EAttribute)linkEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getUndectabilityRequirement() {
return undectabilityRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPseudonimityRequirement() {
return pseudonimityRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getPseudonimityRequirement_Kind() {
return (EAttribute)pseudonimityRequirementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getAnanomityRequirement() {
return ananomityRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getDataRecordRequirement() {
return dataRecordRequirementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataRecordRequirement_Base_DataStoreNode() {
return (EReference)dataRecordRequirementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataRecordRequirement_DataList() {
return (EReference)dataRecordRequirementEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getFunctionalRequirements() {
return functionalRequirementsEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getFunctionalRequirements_Base_Package() {
return (EReference)functionalRequirementsEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getNonFunctionalRequirements() {
return nonFunctionalRequirementsEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getNonFunctionalRequirements_Base_Package() {
return (EReference)nonFunctionalRequirementsEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLawfulByConsent() {
return lawfulByConsentEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLawfulByConsent_Consent() {
return (EReference)lawfulByConsentEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLawfulByContract() {
return lawfulByContractEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLawfulByContract_Contract() {
return (EReference)lawfulByContractEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLawfulByPublicInterest() {
return lawfulByPublicInterestEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLawfulByPublicInterest_PublicInterest() {
return (EReference)lawfulByPublicInterestEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLawfulByLegitimateInterest() {
return lawfulByLegitimateInterestEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLawfulByLegitimateInterest_LegitimateInterest() {
return (EReference)lawfulByLegitimateInterestEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLawfulByLegalObligation() {
return lawfulByLegalObligationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLawfulByLegalObligation_LegalObligation() {
return (EReference)lawfulByLegalObligationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLawfulByVitalInterest() {
return lawfulByVitalInterestEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLawfulByVitalInterest_VitalInterest() {
return (EReference)lawfulByVitalInterestEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getLinkability() {
return linkabilityEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getCollectionMethod() {
return collectionMethodEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getDuration() {
return durationEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getPseudonymKind() {
return pseudonymKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public pdp4engReqGDPRFactory getpdp4engReqGDPRFactory() {
return (pdp4engReqGDPRFactory)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
processRequirementEClass = createEClass(PROCESS_REQUIREMENT);
createEReference(processRequirementEClass, PROCESS_REQUIREMENT__REQUESTER);
stakeholderEClass = createEClass(STAKEHOLDER);
createEReference(stakeholderEClass, STAKEHOLDER__BASE_NAMED_ELEMENT);
personalDataRequirementEClass = createEClass(PERSONAL_DATA_REQUIREMENT);
createEReference(personalDataRequirementEClass, PERSONAL_DATA_REQUIREMENT__SOURCE);
gdprPrincipleEClass = createEClass(GDPR_PRINCIPLE);
createEReference(gdprPrincipleEClass, GDPR_PRINCIPLE__BASE_NAMED_ELEMENT);
processPrincipleEClass = createEClass(PROCESS_PRINCIPLE);
createEReference(processPrincipleEClass, PROCESS_PRINCIPLE__PROCESS);
createEReference(processPrincipleEClass, PROCESS_PRINCIPLE__DATA_SUBJECT);
createEReference(processPrincipleEClass, PROCESS_PRINCIPLE__PERSONAL_DATA);
purposePersonalDataPrincipleEClass = createEClass(PURPOSE_PERSONAL_DATA_PRINCIPLE);
createEReference(purposePersonalDataPrincipleEClass, PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE);
createEReference(purposePersonalDataPrincipleEClass, PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA);
dataMinimisationEClass = createEClass(DATA_MINIMISATION);
purposeLimitationEClass = createEClass(PURPOSE_LIMITATION);
accuracyEClass = createEClass(ACCURACY);
storageLimitationEClass = createEClass(STORAGE_LIMITATION);
lawfulEClass = createEClass(LAWFUL);
fairlyEClass = createEClass(FAIRLY);
transparencyEClass = createEClass(TRANSPARENCY);
securitySafetyEClass = createEClass(SECURITY_SAFETY);
relatedToEClass = createEClass(RELATED_TO);
createEAttribute(relatedToEClass, RELATED_TO__SENSITIVE);
createEAttribute(relatedToEClass, RELATED_TO__LINKABILITY);
createEAttribute(relatedToEClass, RELATED_TO__COLLECTION);
createEReference(relatedToEClass, RELATED_TO__BASE_ELEMENT);
availableAtEClass = createEClass(AVAILABLE_AT);
createEAttribute(availableAtEClass, AVAILABLE_AT__DURATION);
createEReference(availableAtEClass, AVAILABLE_AT__BASE_ELEMENT);
derivedFromEClass = createEClass(DERIVED_FROM);
createEReference(derivedFromEClass, DERIVED_FROM__BASE_ELEMENT);
dataRequirementEClass = createEClass(DATA_REQUIREMENT);
linkableEClass = createEClass(LINKABLE);
createEAttribute(linkableEClass, LINKABLE__DURATION);
createEAttribute(linkableEClass, LINKABLE__LINKABILITY);
createEReference(linkableEClass, LINKABLE__BASE_ELEMENT);
generatedRequirementsEClass = createEClass(GENERATED_REQUIREMENTS);
createEReference(generatedRequirementsEClass, GENERATED_REQUIREMENTS__BASE_PACKAGE);
dataFlowRequirementEClass = createEClass(DATA_FLOW_REQUIREMENT);
createEReference(dataFlowRequirementEClass, DATA_FLOW_REQUIREMENT__BASE_ACTIVITY);
dataSubjectsEClass = createEClass(DATA_SUBJECTS);
createEReference(dataSubjectsEClass, DATA_SUBJECTS__BASE_PACKAGE);
dataRequirementsEClass = createEClass(DATA_REQUIREMENTS);
createEReference(dataRequirementsEClass, DATA_REQUIREMENTS__BASE_PACKAGE);
availableInformationEClass = createEClass(AVAILABLE_INFORMATION);
createEReference(availableInformationEClass, AVAILABLE_INFORMATION__BASE_PACKAGE);
createEReference(availableInformationEClass, AVAILABLE_INFORMATION__CONCERNS);
personalInformationEClass = createEClass(PERSONAL_INFORMATION);
createEReference(personalInformationEClass, PERSONAL_INFORMATION__BASE_PACKAGE);
createEReference(personalInformationEClass, PERSONAL_INFORMATION__CONCERNS);
availableInformationContainerEClass = createEClass(AVAILABLE_INFORMATION_CONTAINER);
createEReference(availableInformationContainerEClass, AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE);
personalInformationContainerEClass = createEClass(PERSONAL_INFORMATION_CONTAINER);
createEReference(personalInformationContainerEClass, PERSONAL_INFORMATION_CONTAINER__BASE_PACKAGE);
unlinkabilityRequirementEClass = createEClass(UNLINKABILITY_REQUIREMENT);
createEAttribute(unlinkabilityRequirementEClass, UNLINKABILITY_REQUIREMENT__LINKABILITY);
privacyRequirementEClass = createEClass(PRIVACY_REQUIREMENT);
createEReference(privacyRequirementEClass, PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT);
createEReference(privacyRequirementEClass, PRIVACY_REQUIREMENT__DATA_SUBJECT);
createEReference(privacyRequirementEClass, PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS);
createEReference(privacyRequirementEClass, PRIVACY_REQUIREMENT__PERSONAL_DATA);
dataUnlinkabilityRequirementEClass = createEClass(DATA_UNLINKABILITY_REQUIREMENT);
createEReference(dataUnlinkabilityRequirementEClass, DATA_UNLINKABILITY_REQUIREMENT__LINKS);
controlersEClass = createEClass(CONTROLERS);
createEReference(controlersEClass, CONTROLERS__BASE_PACKAGE);
linkEClass = createEClass(LINK);
createEReference(linkEClass, LINK__BASE_NAMED_ELEMENT);
createEAttribute(linkEClass, LINK__LINKABILITY);
undectabilityRequirementEClass = createEClass(UNDECTABILITY_REQUIREMENT);
pseudonimityRequirementEClass = createEClass(PSEUDONIMITY_REQUIREMENT);
createEAttribute(pseudonimityRequirementEClass, PSEUDONIMITY_REQUIREMENT__KIND);
ananomityRequirementEClass = createEClass(ANANOMITY_REQUIREMENT);
dataRecordRequirementEClass = createEClass(DATA_RECORD_REQUIREMENT);
createEReference(dataRecordRequirementEClass, DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE);
createEReference(dataRecordRequirementEClass, DATA_RECORD_REQUIREMENT__DATA_LIST);
functionalRequirementsEClass = createEClass(FUNCTIONAL_REQUIREMENTS);
createEReference(functionalRequirementsEClass, FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE);
nonFunctionalRequirementsEClass = createEClass(NON_FUNCTIONAL_REQUIREMENTS);
createEReference(nonFunctionalRequirementsEClass, NON_FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE);
lawfulByConsentEClass = createEClass(LAWFUL_BY_CONSENT);
createEReference(lawfulByConsentEClass, LAWFUL_BY_CONSENT__CONSENT);
lawfulByContractEClass = createEClass(LAWFUL_BY_CONTRACT);
createEReference(lawfulByContractEClass, LAWFUL_BY_CONTRACT__CONTRACT);
lawfulByPublicInterestEClass = createEClass(LAWFUL_BY_PUBLIC_INTEREST);
createEReference(lawfulByPublicInterestEClass, LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST);
lawfulByLegitimateInterestEClass = createEClass(LAWFUL_BY_LEGITIMATE_INTEREST);
createEReference(lawfulByLegitimateInterestEClass, LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST);
lawfulByLegalObligationEClass = createEClass(LAWFUL_BY_LEGAL_OBLIGATION);
createEReference(lawfulByLegalObligationEClass, LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION);
lawfulByVitalInterestEClass = createEClass(LAWFUL_BY_VITAL_INTEREST);
createEReference(lawfulByVitalInterestEClass, LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST);
// Create enums
linkabilityEEnum = createEEnum(LINKABILITY);
collectionMethodEEnum = createEEnum(COLLECTION_METHOD);
durationEEnum = createEEnum(DURATION);
pseudonymKindEEnum = createEEnum(PSEUDONYM_KIND);
}
/**
* <!-- 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
Pdp4engCommonGDPRPackage thePdp4engCommonGDPRPackage = (Pdp4engCommonGDPRPackage)EPackage.Registry.INSTANCE.getEPackage(Pdp4engCommonGDPRPackage.eNS_URI);
UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
processRequirementEClass.getESuperTypes().add(thePdp4engCommonGDPRPackage.getProcess());
personalDataRequirementEClass.getESuperTypes().add(thePdp4engCommonGDPRPackage.getPersonalData());
processPrincipleEClass.getESuperTypes().add(this.getGDPRPrinciple());
purposePersonalDataPrincipleEClass.getESuperTypes().add(this.getGDPRPrinciple());
dataMinimisationEClass.getESuperTypes().add(this.getPurposePersonalDataPrinciple());
purposeLimitationEClass.getESuperTypes().add(this.getPurposePersonalDataPrinciple());
accuracyEClass.getESuperTypes().add(this.getPurposePersonalDataPrinciple());
storageLimitationEClass.getESuperTypes().add(this.getPurposePersonalDataPrinciple());
lawfulEClass.getESuperTypes().add(this.getProcessPrinciple());
fairlyEClass.getESuperTypes().add(this.getProcessPrinciple());
transparencyEClass.getESuperTypes().add(this.getProcessPrinciple());
securitySafetyEClass.getESuperTypes().add(this.getProcessPrinciple());
dataRequirementEClass.getESuperTypes().add(thePdp4engCommonGDPRPackage.getData());
unlinkabilityRequirementEClass.getESuperTypes().add(this.getPrivacyRequirement());
dataUnlinkabilityRequirementEClass.getESuperTypes().add(this.getUnlinkabilityRequirement());
undectabilityRequirementEClass.getESuperTypes().add(this.getPrivacyRequirement());
pseudonimityRequirementEClass.getESuperTypes().add(this.getPrivacyRequirement());
ananomityRequirementEClass.getESuperTypes().add(this.getUnlinkabilityRequirement());
lawfulByConsentEClass.getESuperTypes().add(this.getLawful());
lawfulByContractEClass.getESuperTypes().add(this.getLawful());
lawfulByPublicInterestEClass.getESuperTypes().add(this.getLawful());
lawfulByLegitimateInterestEClass.getESuperTypes().add(this.getLawful());
lawfulByLegalObligationEClass.getESuperTypes().add(this.getLawful());
lawfulByVitalInterestEClass.getESuperTypes().add(this.getLawful());
// Initialize classes, features, and operations; add parameters
initEClass(processRequirementEClass, ProcessRequirement.class, "ProcessRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessRequirement_Requester(), this.getStakeholder(), null, "requester", null, 0, -1, ProcessRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(stakeholderEClass, Stakeholder.class, "Stakeholder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getStakeholder_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Stakeholder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(personalDataRequirementEClass, PersonalDataRequirement.class, "PersonalDataRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPersonalDataRequirement_Source(), theUMLPackage.getElement(), null, "source", null, 1, 1, PersonalDataRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(gdprPrincipleEClass, GDPRPrinciple.class, "GDPRPrinciple", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getGDPRPrinciple_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, GDPRPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(processPrincipleEClass, ProcessPrinciple.class, "ProcessPrinciple", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessPrinciple_Process(), this.getProcessRequirement(), null, "process", null, 1, 1, ProcessPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessPrinciple_DataSubject(), thePdp4engCommonGDPRPackage.getDataSubject(), null, "dataSubject", null, 1, 1, ProcessPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessPrinciple_PersonalData(), this.getPersonalDataRequirement(), null, "personalData", null, 1, -1, ProcessPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(purposePersonalDataPrincipleEClass, PurposePersonalDataPrinciple.class, "PurposePersonalDataPrinciple", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPurposePersonalDataPrinciple_Purpose(), thePdp4engCommonGDPRPackage.getPurpose(), null, "purpose", null, 1, 1, PurposePersonalDataPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPurposePersonalDataPrinciple_PersonalData(), thePdp4engCommonGDPRPackage.getPersonalData(), null, "personalData", null, 1, 1, PurposePersonalDataPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataMinimisationEClass, DataMinimisation.class, "DataMinimisation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(purposeLimitationEClass, PurposeLimitation.class, "PurposeLimitation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(accuracyEClass, Accuracy.class, "Accuracy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(storageLimitationEClass, StorageLimitation.class, "StorageLimitation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(lawfulEClass, Lawful.class, "Lawful", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(fairlyEClass, Fairly.class, "Fairly", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(transparencyEClass, Transparency.class, "Transparency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(securitySafetyEClass, SecuritySafety.class, "SecuritySafety", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(relatedToEClass, RelatedTo.class, "RelatedTo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getRelatedTo_Sensitive(), theTypesPackage.getBoolean(), "sensitive", null, 1, 1, RelatedTo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getRelatedTo_Linkability(), this.getLinkability(), "linkability", null, 1, 1, RelatedTo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getRelatedTo_Collection(), this.getCollectionMethod(), "collection", null, 1, 1, RelatedTo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRelatedTo_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 0, 1, RelatedTo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(availableAtEClass, AvailableAt.class, "AvailableAt", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getAvailableAt_Duration(), this.getDuration(), "duration", null, 1, 1, AvailableAt.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAvailableAt_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 0, 1, AvailableAt.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(derivedFromEClass, DerivedFrom.class, "DerivedFrom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDerivedFrom_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 0, 1, DerivedFrom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataRequirementEClass, DataRequirement.class, "DataRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(linkableEClass, Linkable.class, "Linkable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getLinkable_Duration(), this.getDuration(), "duration", null, 1, 1, Linkable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getLinkable_Linkability(), this.getLinkability(), "linkability", null, 1, 1, Linkable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getLinkable_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 0, 1, Linkable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(generatedRequirementsEClass, GeneratedRequirements.class, "GeneratedRequirements", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getGeneratedRequirements_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, GeneratedRequirements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataFlowRequirementEClass, DataFlowRequirement.class, "DataFlowRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataFlowRequirement_Base_Activity(), theUMLPackage.getActivity(), null, "base_Activity", null, 0, 1, DataFlowRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataSubjectsEClass, DataSubjects.class, "DataSubjects", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataSubjects_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, DataSubjects.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataRequirementsEClass, DataRequirements.class, "DataRequirements", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataRequirements_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, DataRequirements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(availableInformationEClass, AvailableInformation.class, "AvailableInformation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAvailableInformation_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, AvailableInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAvailableInformation_Concerns(), theUMLPackage.getNamedElement(), null, "concerns", null, 1, 1, AvailableInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(personalInformationEClass, PersonalInformation.class, "PersonalInformation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPersonalInformation_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, PersonalInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPersonalInformation_Concerns(), thePdp4engCommonGDPRPackage.getDataSubject(), null, "concerns", null, 1, 1, PersonalInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(availableInformationContainerEClass, AvailableInformationContainer.class, "AvailableInformationContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAvailableInformationContainer_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, AvailableInformationContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(personalInformationContainerEClass, PersonalInformationContainer.class, "PersonalInformationContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPersonalInformationContainer_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, PersonalInformationContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(unlinkabilityRequirementEClass, UnlinkabilityRequirement.class, "UnlinkabilityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getUnlinkabilityRequirement_Linkability(), this.getLinkability(), "linkability", null, 1, 1, UnlinkabilityRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(privacyRequirementEClass, PrivacyRequirement.class, "PrivacyRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPrivacyRequirement_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, PrivacyRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPrivacyRequirement_DataSubject(), thePdp4engCommonGDPRPackage.getDataSubject(), null, "dataSubject", null, 1, 1, PrivacyRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPrivacyRequirement_Counterstakeholders(), theUMLPackage.getNamedElement(), null, "counterstakeholders", null, 0, -1, PrivacyRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPrivacyRequirement_PersonalData(), thePdp4engCommonGDPRPackage.getPersonalData(), null, "personalData", null, 0, -1, PrivacyRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataUnlinkabilityRequirementEClass, DataUnlinkabilityRequirement.class, "DataUnlinkabilityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataUnlinkabilityRequirement_Links(), theUMLPackage.getNamedElement(), null, "links", null, 0, -1, DataUnlinkabilityRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(controlersEClass, Controlers.class, "Controlers", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getControlers_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Controlers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(linkEClass, Link.class, "Link", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLink_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getLink_Linkability(), this.getLinkability(), "linkability", null, 1, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(undectabilityRequirementEClass, UndectabilityRequirement.class, "UndectabilityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(pseudonimityRequirementEClass, PseudonimityRequirement.class, "PseudonimityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getPseudonimityRequirement_Kind(), this.getPseudonymKind(), "kind", null, 1, 1, PseudonimityRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(ananomityRequirementEClass, AnanomityRequirement.class, "AnanomityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(dataRecordRequirementEClass, DataRecordRequirement.class, "DataRecordRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataRecordRequirement_Base_DataStoreNode(), theUMLPackage.getDataStoreNode(), null, "base_DataStoreNode", null, 0, 1, DataRecordRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDataRecordRequirement_DataList(), thePdp4engCommonGDPRPackage.getData(), null, "dataList", null, 0, -1, DataRecordRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(functionalRequirementsEClass, FunctionalRequirements.class, "FunctionalRequirements", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFunctionalRequirements_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, FunctionalRequirements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(nonFunctionalRequirementsEClass, NonFunctionalRequirements.class, "NonFunctionalRequirements", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getNonFunctionalRequirements_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, NonFunctionalRequirements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(lawfulByConsentEClass, LawfulByConsent.class, "LawfulByConsent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLawfulByConsent_Consent(), thePdp4engCommonGDPRPackage.getConsent(), null, "consent", null, 1, 1, LawfulByConsent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(lawfulByContractEClass, LawfulByContract.class, "LawfulByContract", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLawfulByContract_Contract(), thePdp4engCommonGDPRPackage.getContract(), null, "contract", null, 1, 1, LawfulByContract.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(lawfulByPublicInterestEClass, LawfulByPublicInterest.class, "LawfulByPublicInterest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLawfulByPublicInterest_PublicInterest(), thePdp4engCommonGDPRPackage.getPublicInterest(), null, "publicInterest", null, 1, 1, LawfulByPublicInterest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(lawfulByLegitimateInterestEClass, LawfulByLegitimateInterest.class, "LawfulByLegitimateInterest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLawfulByLegitimateInterest_LegitimateInterest(), thePdp4engCommonGDPRPackage.getLegitimateInterest(), null, "legitimateInterest", null, 1, 1, LawfulByLegitimateInterest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(lawfulByLegalObligationEClass, LawfulByLegalObligation.class, "LawfulByLegalObligation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLawfulByLegalObligation_LegalObligation(), thePdp4engCommonGDPRPackage.getLegalObligation(), null, "legalObligation", null, 1, 1, LawfulByLegalObligation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(lawfulByVitalInterestEClass, LawfulByVitalInterest.class, "LawfulByVitalInterest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLawfulByVitalInterest_VitalInterest(), thePdp4engCommonGDPRPackage.getVitalInterest(), null, "vitalInterest", null, 1, 1, LawfulByVitalInterest.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(linkabilityEEnum, Linkability.class, "Linkability");
addEEnumLiteral(linkabilityEEnum, Linkability.SINGLE);
addEEnumLiteral(linkabilityEEnum, Linkability.NOT_KNOWN);
addEEnumLiteral(linkabilityEEnum, Linkability.SUBGROUP);
addEEnumLiteral(linkabilityEEnum, Linkability.ANONYMOUS);
initEEnum(collectionMethodEEnum, CollectionMethod.class, "CollectionMethod");
addEEnumLiteral(collectionMethodEEnum, CollectionMethod.DIRECT);
addEEnumLiteral(collectionMethodEEnum, CollectionMethod.INDIRECT);
addEEnumLiteral(collectionMethodEEnum, CollectionMethod.REUSED);
addEEnumLiteral(collectionMethodEEnum, CollectionMethod.EXTERNAL);
initEEnum(durationEEnum, Duration.class, "Duration");
addEEnumLiteral(durationEEnum, Duration.FOR_ACTION);
addEEnumLiteral(durationEEnum, Duration.UNTIL_DELETED);
addEEnumLiteral(durationEEnum, Duration.UNLIMITED);
initEEnum(pseudonymKindEEnum, PseudonymKind.class, "PseudonymKind");
addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.PERSON);
addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.ROLE);
addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.RELATION_SHIP);
addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.ROLE_RELATION_SHIP);
addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.TRANSACTION);
// Create resource
createResource(eNS_URI);
}
} //pdp4engReqGDPRPackageImpl