blob: 67d948ac60b3be0596cb03c791bfd09da719a434 [file] [log] [blame]
/**
* Copyright (c) 2018 CEA
*
* 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 at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Jérémie Tatibouet (CEA) jeremie.tatibouet@cea.fr - Initial API and implementation
* Benoit Maggi (CEA) benoit.maggi@cea.fr - Initial API and implementation
*
*/
package org.eclipse.papyrus.iotml.wot.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.MARTE.MARTEPackage;
import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
import org.eclipse.papyrus.iotml.animate.AnimatePackage;
import org.eclipse.papyrus.iotml.animate.impl.AnimatePackageImpl;
import org.eclipse.papyrus.iotml.hardware.actuator.ActuatorPackage;
import org.eclipse.papyrus.iotml.hardware.actuator.impl.ActuatorPackageImpl;
import org.eclipse.papyrus.iotml.hardware.core.CorePackage;
import org.eclipse.papyrus.iotml.hardware.core.impl.CorePackageImpl;
import org.eclipse.papyrus.iotml.hardware.network.NetworkPackage;
import org.eclipse.papyrus.iotml.hardware.network.impl.NetworkPackageImpl;
import org.eclipse.papyrus.iotml.hardware.sensor.SensorPackage;
import org.eclipse.papyrus.iotml.hardware.sensor.impl.SensorPackageImpl;
import org.eclipse.papyrus.iotml.hybrid.HybridPackage;
import org.eclipse.papyrus.iotml.hybrid.impl.HybridPackageImpl;
import org.eclipse.papyrus.iotml.s3pml.hardware.HardwarePackage;
import org.eclipse.papyrus.iotml.s3pml.hardware.impl.HardwarePackageImpl;
import org.eclipse.papyrus.iotml.s3pml.hardware.store.StorePackage;
import org.eclipse.papyrus.iotml.s3pml.hardware.store.impl.StorePackageImpl;
import org.eclipse.papyrus.iotml.s3pml.protocol.ProtocolPackage;
import org.eclipse.papyrus.iotml.s3pml.protocol.impl.ProtocolPackageImpl;
import org.eclipse.papyrus.iotml.s3pml.software.SoftwarePackage;
import org.eclipse.papyrus.iotml.s3pml.software.impl.SoftwarePackageImpl;
import org.eclipse.papyrus.iotml.sensinact.SensinactPackage;
import org.eclipse.papyrus.iotml.sensinact.impl.SensinactPackageImpl;
import org.eclipse.papyrus.iotml.software.artefact.ArtefactPackage;
import org.eclipse.papyrus.iotml.software.artefact.impl.ArtefactPackageImpl;
import org.eclipse.papyrus.iotml.software.core.structure.StructurePackage;
import org.eclipse.papyrus.iotml.software.core.structure.impl.StructurePackageImpl;
import org.eclipse.papyrus.iotml.software.resource.ResourcePackage;
import org.eclipse.papyrus.iotml.software.resource.impl.ResourcePackageImpl;
import org.eclipse.papyrus.iotml.wot.Action;
import org.eclipse.papyrus.iotml.wot.DataSchema;
import org.eclipse.papyrus.iotml.wot.Event;
import org.eclipse.papyrus.iotml.wot.Form;
import org.eclipse.papyrus.iotml.wot.InteractionPattern;
import org.eclipse.papyrus.iotml.wot.Link;
import org.eclipse.papyrus.iotml.wot.Property;
import org.eclipse.papyrus.iotml.wot.RelKind;
import org.eclipse.papyrus.iotml.wot.SecurityScheme;
import org.eclipse.papyrus.iotml.wot.SecuritySchemeKind;
import org.eclipse.papyrus.iotml.wot.SubProtocolKind;
import org.eclipse.papyrus.iotml.wot.Thing;
import org.eclipse.papyrus.iotml.wot.WoTFactory;
import org.eclipse.papyrus.iotml.wot.WoTPackage;
import org.eclipse.papyrus.sysml14.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 WoTPackageImpl extends EPackageImpl implements WoTPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass thingEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass securitySchemeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass linkEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass eventEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass interactionPatternEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass formEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dataSchemaEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass actionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass propertyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum securitySchemeKindEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum relKindEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum subProtocolKindEEnum = 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.iotml.wot.WoTPackage#eNS_URI
* @see #init()
* @generated
*/
private WoTPackageImpl() {
super(eNS_URI, WoTFactory.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 WoTPackage#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 WoTPackage init() {
if (isInited) return (WoTPackage)EPackage.Registry.INSTANCE.getEPackage(WoTPackage.eNS_URI);
// Obtain or create and register package
Object registeredWoTPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
WoTPackageImpl theWoTPackage = registeredWoTPackage instanceof WoTPackageImpl ? (WoTPackageImpl)registeredWoTPackage : new WoTPackageImpl();
isInited = true;
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
MARTEPackage.eINSTANCE.eClass();
MARTE_PrimitivesTypesPackage.eINSTANCE.eClass();
MeasurementUnitsPackage.eINSTANCE.eClass();
GRM_BasicTypesPackage.eINSTANCE.eClass();
BasicNFP_TypesPackage.eINSTANCE.eClass();
MARTE_DataTypesPackage.eINSTANCE.eClass();
TimeTypesLibraryPackage.eINSTANCE.eClass();
TimeLibraryPackage.eINSTANCE.eClass();
RS_LibraryPackage.eINSTANCE.eClass();
sysmlPackage.eINSTANCE.eClass();
TypesPackage.eINSTANCE.eClass();
UMLPackage.eINSTANCE.eClass();
StandardPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AnimatePackage.eNS_URI);
AnimatePackageImpl theAnimatePackage = (AnimatePackageImpl)(registeredPackage instanceof AnimatePackageImpl ? registeredPackage : AnimatePackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActuatorPackage.eNS_URI);
ActuatorPackageImpl theActuatorPackage = (ActuatorPackageImpl)(registeredPackage instanceof ActuatorPackageImpl ? registeredPackage : ActuatorPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SensorPackage.eNS_URI);
SensorPackageImpl theSensorPackage = (SensorPackageImpl)(registeredPackage instanceof SensorPackageImpl ? registeredPackage : SensorPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(NetworkPackage.eNS_URI);
NetworkPackageImpl theNetworkPackage = (NetworkPackageImpl)(registeredPackage instanceof NetworkPackageImpl ? registeredPackage : NetworkPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
CorePackageImpl theCorePackage = (CorePackageImpl)(registeredPackage instanceof CorePackageImpl ? registeredPackage : CorePackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SoftwarePackage.eNS_URI);
SoftwarePackageImpl theSoftwarePackage = (SoftwarePackageImpl)(registeredPackage instanceof SoftwarePackageImpl ? registeredPackage : SoftwarePackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ProtocolPackage.eNS_URI);
ProtocolPackageImpl theProtocolPackage = (ProtocolPackageImpl)(registeredPackage instanceof ProtocolPackageImpl ? registeredPackage : ProtocolPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(HardwarePackage.eNS_URI);
HardwarePackageImpl theHardwarePackage = (HardwarePackageImpl)(registeredPackage instanceof HardwarePackageImpl ? registeredPackage : HardwarePackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(StorePackage.eNS_URI);
StorePackageImpl theStorePackage = (StorePackageImpl)(registeredPackage instanceof StorePackageImpl ? registeredPackage : StorePackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI);
StructurePackageImpl theStructurePackage = (StructurePackageImpl)(registeredPackage instanceof StructurePackageImpl ? registeredPackage : StructurePackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ResourcePackage.eNS_URI);
ResourcePackageImpl theResourcePackage = (ResourcePackageImpl)(registeredPackage instanceof ResourcePackageImpl ? registeredPackage : ResourcePackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ArtefactPackage.eNS_URI);
ArtefactPackageImpl theArtefactPackage = (ArtefactPackageImpl)(registeredPackage instanceof ArtefactPackageImpl ? registeredPackage : ArtefactPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(HybridPackage.eNS_URI);
HybridPackageImpl theHybridPackage = (HybridPackageImpl)(registeredPackage instanceof HybridPackageImpl ? registeredPackage : HybridPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SensinactPackage.eNS_URI);
SensinactPackageImpl theSensinactPackage = (SensinactPackageImpl)(registeredPackage instanceof SensinactPackageImpl ? registeredPackage : SensinactPackage.eINSTANCE);
// Create package meta-data objects
theWoTPackage.createPackageContents();
theAnimatePackage.createPackageContents();
theActuatorPackage.createPackageContents();
theSensorPackage.createPackageContents();
theNetworkPackage.createPackageContents();
theCorePackage.createPackageContents();
theSoftwarePackage.createPackageContents();
theProtocolPackage.createPackageContents();
theHardwarePackage.createPackageContents();
theStorePackage.createPackageContents();
theStructurePackage.createPackageContents();
theResourcePackage.createPackageContents();
theArtefactPackage.createPackageContents();
theHybridPackage.createPackageContents();
theSensinactPackage.createPackageContents();
// Initialize created meta-data
theWoTPackage.initializePackageContents();
theAnimatePackage.initializePackageContents();
theActuatorPackage.initializePackageContents();
theSensorPackage.initializePackageContents();
theNetworkPackage.initializePackageContents();
theCorePackage.initializePackageContents();
theSoftwarePackage.initializePackageContents();
theProtocolPackage.initializePackageContents();
theHardwarePackage.initializePackageContents();
theStorePackage.initializePackageContents();
theStructurePackage.initializePackageContents();
theResourcePackage.initializePackageContents();
theArtefactPackage.initializePackageContents();
theHybridPackage.initializePackageContents();
theSensinactPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theWoTPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(WoTPackage.eNS_URI, theWoTPackage);
return theWoTPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getThing() {
return thingEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getThing_Id() {
return (EAttribute)thingEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getThing_Support() {
return (EAttribute)thingEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getThing_Security() {
return (EReference)thingEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getThing_Base() {
return (EReference)thingEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getThing_Links() {
return (EReference)thingEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getThing_Events() {
return (EReference)thingEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getThing_Actions() {
return (EReference)thingEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getThing_Properties() {
return (EReference)thingEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getSecurityScheme() {
return securitySchemeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getSecurityScheme_Scheme() {
return (EAttribute)securitySchemeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getSecurityScheme_ProxyUrl() {
return (EReference)securitySchemeEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getSecurityScheme_Base_Classifier() {
return (EReference)securitySchemeEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getLink() {
return linkEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getLink_Href() {
return (EAttribute)linkEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getLink_MediaType() {
return (EAttribute)linkEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getLink_Rel() {
return (EAttribute)linkEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getLink_Anchor() {
return (EAttribute)linkEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLink_Base_PrimitiveType() {
return (EReference)linkEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getEvent() {
return eventEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getEvent_Base_Signal() {
return (EReference)eventEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getInteractionPattern() {
return interactionPatternEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getInteractionPattern_Label() {
return (EAttribute)interactionPatternEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getInteractionPattern_Scopes() {
return (EAttribute)interactionPatternEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getInteractionPattern_Security() {
return (EReference)interactionPatternEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getInteractionPattern_Forms() {
return (EReference)interactionPatternEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getForm() {
return formEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getForm_Href() {
return (EReference)formEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getForm_MediaType() {
return (EAttribute)formEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getForm_Rel() {
return (EAttribute)formEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getForm_SubProtocol() {
return (EAttribute)formEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getForm_Security() {
return (EReference)formEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getForm_Scopes() {
return (EAttribute)formEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getDataSchema() {
return dataSchemaEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataSchema_Base_TypedElement() {
return (EReference)dataSchemaEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataSchema_Enum() {
return (EReference)dataSchemaEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataSchema_NumberInterval() {
return (EReference)dataSchemaEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataSchema_Required() {
return (EReference)dataSchemaEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataSchema_Items() {
return (EReference)dataSchemaEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getDataSchema_Properties() {
return (EReference)dataSchemaEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getAction() {
return actionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getAction_Input() {
return (EReference)actionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getAction_Output() {
return (EReference)actionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getAction_Base_BehavioralFeature() {
return (EReference)actionEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getProperty() {
return propertyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getProperty_Observable() {
return (EAttribute)propertyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getSecuritySchemeKind() {
return securitySchemeKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getRelKind() {
return relKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getSubProtocolKind() {
return subProtocolKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public WoTFactory getWoTFactory() {
return (WoTFactory)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
thingEClass = createEClass(THING);
createEAttribute(thingEClass, THING__ID);
createEAttribute(thingEClass, THING__SUPPORT);
createEReference(thingEClass, THING__SECURITY);
createEReference(thingEClass, THING__BASE);
createEReference(thingEClass, THING__LINKS);
createEReference(thingEClass, THING__EVENTS);
createEReference(thingEClass, THING__ACTIONS);
createEReference(thingEClass, THING__PROPERTIES);
securitySchemeEClass = createEClass(SECURITY_SCHEME);
createEAttribute(securitySchemeEClass, SECURITY_SCHEME__SCHEME);
createEReference(securitySchemeEClass, SECURITY_SCHEME__PROXY_URL);
createEReference(securitySchemeEClass, SECURITY_SCHEME__BASE_CLASSIFIER);
linkEClass = createEClass(LINK);
createEAttribute(linkEClass, LINK__HREF);
createEAttribute(linkEClass, LINK__MEDIA_TYPE);
createEAttribute(linkEClass, LINK__REL);
createEAttribute(linkEClass, LINK__ANCHOR);
createEReference(linkEClass, LINK__BASE_PRIMITIVE_TYPE);
eventEClass = createEClass(EVENT);
createEReference(eventEClass, EVENT__BASE_SIGNAL);
interactionPatternEClass = createEClass(INTERACTION_PATTERN);
createEAttribute(interactionPatternEClass, INTERACTION_PATTERN__LABEL);
createEAttribute(interactionPatternEClass, INTERACTION_PATTERN__SCOPES);
createEReference(interactionPatternEClass, INTERACTION_PATTERN__SECURITY);
createEReference(interactionPatternEClass, INTERACTION_PATTERN__FORMS);
formEClass = createEClass(FORM);
createEReference(formEClass, FORM__HREF);
createEAttribute(formEClass, FORM__MEDIA_TYPE);
createEAttribute(formEClass, FORM__REL);
createEAttribute(formEClass, FORM__SUB_PROTOCOL);
createEReference(formEClass, FORM__SECURITY);
createEAttribute(formEClass, FORM__SCOPES);
dataSchemaEClass = createEClass(DATA_SCHEMA);
createEReference(dataSchemaEClass, DATA_SCHEMA__BASE_TYPED_ELEMENT);
createEReference(dataSchemaEClass, DATA_SCHEMA__ENUM);
createEReference(dataSchemaEClass, DATA_SCHEMA__NUMBER_INTERVAL);
createEReference(dataSchemaEClass, DATA_SCHEMA__REQUIRED);
createEReference(dataSchemaEClass, DATA_SCHEMA__ITEMS);
createEReference(dataSchemaEClass, DATA_SCHEMA__PROPERTIES);
actionEClass = createEClass(ACTION);
createEReference(actionEClass, ACTION__INPUT);
createEReference(actionEClass, ACTION__OUTPUT);
createEReference(actionEClass, ACTION__BASE_BEHAVIORAL_FEATURE);
propertyEClass = createEClass(PROPERTY);
createEAttribute(propertyEClass, PROPERTY__OBSERVABLE);
// Create enums
securitySchemeKindEEnum = createEEnum(SECURITY_SCHEME_KIND);
relKindEEnum = createEEnum(REL_KIND);
subProtocolKindEEnum = createEEnum(SUB_PROTOCOL_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
ArtefactPackage theArtefactPackage = (ArtefactPackage)EPackage.Registry.INSTANCE.getEPackage(ArtefactPackage.eNS_URI);
TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
StructurePackage theStructurePackage = (StructurePackage)EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
thingEClass.getESuperTypes().add(theArtefactPackage.getVirtualEntity());
eventEClass.getESuperTypes().add(this.getDataSchema());
eventEClass.getESuperTypes().add(this.getInteractionPattern());
formEClass.getESuperTypes().add(theStructurePackage.getMetaValueSpecification());
actionEClass.getESuperTypes().add(this.getInteractionPattern());
propertyEClass.getESuperTypes().add(this.getDataSchema());
propertyEClass.getESuperTypes().add(this.getInteractionPattern());
// Initialize classes and features; add operations and parameters
initEClass(thingEClass, Thing.class, "Thing", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getThing_Id(), theTypesPackage.getString(), "id", null, 1, 1, Thing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getThing_Support(), theTypesPackage.getString(), "support", null, 0, 1, Thing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThing_Security(), this.getSecurityScheme(), null, "security", null, 0, -1, Thing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThing_Base(), this.getLink(), null, "base", null, 0, 1, Thing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThing_Links(), this.getLink(), null, "links", null, 0, -1, Thing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThing_Events(), this.getEvent(), null, "events", null, 0, -1, Thing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThing_Actions(), this.getAction(), null, "actions", null, 0, -1, Thing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThing_Properties(), this.getProperty(), null, "properties", null, 0, -1, Thing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(securitySchemeEClass, SecurityScheme.class, "SecurityScheme", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getSecurityScheme_Scheme(), this.getSecuritySchemeKind(), "scheme", null, 1, 1, SecurityScheme.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSecurityScheme_ProxyUrl(), this.getLink(), null, "proxyUrl", null, 1, 1, SecurityScheme.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSecurityScheme_Base_Classifier(), theUMLPackage.getClassifier(), null, "base_Classifier", null, 0, 1, SecurityScheme.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);
initEAttribute(getLink_Href(), theTypesPackage.getString(), "href", null, 1, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getLink_MediaType(), theTypesPackage.getString(), "mediaType", "application/json", 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getLink_Rel(), this.getRelKind(), "rel", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getLink_Anchor(), theTypesPackage.getString(), "anchor", null, 1, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getLink_Base_PrimitiveType(), theUMLPackage.getPrimitiveType(), null, "base_PrimitiveType", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(eventEClass, Event.class, "Event", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getEvent_Base_Signal(), theUMLPackage.getSignal(), null, "base_Signal", null, 0, 1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(interactionPatternEClass, InteractionPattern.class, "InteractionPattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getInteractionPattern_Label(), theTypesPackage.getString(), "label", null, 0, 1, InteractionPattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getInteractionPattern_Scopes(), theTypesPackage.getString(), "scopes", null, 0, -1, InteractionPattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getInteractionPattern_Security(), this.getSecurityScheme(), null, "security", null, 0, -1, InteractionPattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getInteractionPattern_Forms(), this.getForm(), null, "forms", null, 1, -1, InteractionPattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(formEClass, Form.class, "Form", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getForm_Href(), this.getLink(), null, "href", null, 1, 1, Form.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getForm_MediaType(), theTypesPackage.getString(), "mediaType", "application/json", 0, 1, Form.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getForm_Rel(), this.getRelKind(), "rel", null, 0, 1, Form.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getForm_SubProtocol(), this.getSubProtocolKind(), "subProtocol", null, 0, 1, Form.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getForm_Security(), this.getSecurityScheme(), null, "security", null, 0, -1, Form.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getForm_Scopes(), theTypesPackage.getString(), "scopes", null, 0, -1, Form.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataSchemaEClass, DataSchema.class, "DataSchema", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataSchema_Base_TypedElement(), theUMLPackage.getTypedElement(), null, "base_TypedElement", null, 0, 1, DataSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDataSchema_Enum(), theStructurePackage.getMetaValueSpecification(), null, "enum", null, 0, -1, DataSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDataSchema_NumberInterval(), theUMLPackage.getInterval(), null, "numberInterval", null, 1, 1, DataSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDataSchema_Required(), theUMLPackage.getProperty(), null, "required", null, 0, -1, DataSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDataSchema_Items(), this.getDataSchema(), null, "items", null, 0, -1, DataSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDataSchema_Properties(), this.getDataSchema(), null, "properties", null, 1, 1, DataSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(actionEClass, Action.class, "Action", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAction_Input(), this.getDataSchema(), null, "input", null, 0, 1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAction_Output(), this.getDataSchema(), null, "output", null, 0, 1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAction_Base_BehavioralFeature(), theUMLPackage.getBehavioralFeature(), null, "base_BehavioralFeature", null, 0, 1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getProperty_Observable(), theTypesPackage.getBoolean(), "observable", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
// Initialize enums and add enum literals
initEEnum(securitySchemeKindEEnum, SecuritySchemeKind.class, "SecuritySchemeKind");
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.NOSEC);
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.BASIC);
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.CERT);
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.DIGEST);
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.BEARER);
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.POP);
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.PSK);
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.PUBLIC);
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.OAUTH);
addEEnumLiteral(securitySchemeKindEEnum, SecuritySchemeKind.APIKEY);
initEEnum(relKindEEnum, RelKind.class, "RelKind");
addEEnumLiteral(relKindEEnum, RelKind.NONE);
addEEnumLiteral(relKindEEnum, RelKind.READPROPERTY);
addEEnumLiteral(relKindEEnum, RelKind.WRITEPROPERTY);
addEEnumLiteral(relKindEEnum, RelKind.OBSERVERPROPERTY);
addEEnumLiteral(relKindEEnum, RelKind.INVOKEACTION);
addEEnumLiteral(relKindEEnum, RelKind.SUBSCRIBEEVENT);
addEEnumLiteral(relKindEEnum, RelKind.UNSUBSCRIBEEVENT);
initEEnum(subProtocolKindEEnum, SubProtocolKind.class, "SubProtocolKind");
addEEnumLiteral(subProtocolKindEEnum, SubProtocolKind.NONE);
addEEnumLiteral(subProtocolKindEEnum, SubProtocolKind.LONG_POLL);
// Create resource
createResource(eNS_URI);
// Create annotations
// http://www.eclipse.org/uml2/2.0.0/UML
createUMLAnnotations();
}
/**
* Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void createUMLAnnotations() {
String source = "http://www.eclipse.org/uml2/2.0.0/UML";
addAnnotation
(this,
source,
new String[] {
"originalName", "WoT"
});
}
} //WoTPackageImpl