blob: 0d0a5cb9efa113cb2d8426d5c2cd8b204eb3ce92 [file] [log] [blame]
/**
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* 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
*
* Based on ideas from Xtext, Xtend, Xcore
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - Initial implementation
*
*/
package org.eclipse.osbp.xtext.messagedsl.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.osbp.dsl.semantic.common.types.OSBPTypesPackage;
import org.eclipse.osbp.xtext.messagedsl.MessageCategory;
import org.eclipse.osbp.xtext.messagedsl.MessageDSLFactory;
import org.eclipse.osbp.xtext.messagedsl.MessageDSLPackage;
import org.eclipse.osbp.xtext.messagedsl.MessageItem;
import org.eclipse.osbp.xtext.messagedsl.MessageModel;
import org.eclipse.osbp.xtext.messagedsl.MessagePackage;
import org.eclipse.osbp.xtext.messagedsl.MessageParameter;
import org.eclipse.osbp.xtext.messagedsl.MessageText;
import org.eclipse.osbp.xtext.messagedsl.ParameterTypeEnum;
import org.eclipse.osbp.xtext.messagedsl.SeverityEnum;
import org.eclipse.xtext.xtype.XtypePackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class MessageDSLPackageImpl extends EPackageImpl implements MessageDSLPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass messageModelEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass messagePackageEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass messageCategoryEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass messageItemEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass messageParameterEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass messageTextEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum parameterTypeEnumEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum severityEnumEEnum = 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.osbp.xtext.messagedsl.MessageDSLPackage#eNS_URI
* @see #init()
* @generated
*/
private MessageDSLPackageImpl() {
super(eNS_URI, MessageDSLFactory.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 MessageDSLPackage#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 MessageDSLPackage init() {
if (isInited) return (MessageDSLPackage)EPackage.Registry.INSTANCE.getEPackage(MessageDSLPackage.eNS_URI);
// Obtain or create and register package
MessageDSLPackageImpl theMessageDSLPackage = (MessageDSLPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MessageDSLPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MessageDSLPackageImpl());
isInited = true;
// Initialize simple dependencies
OSBPTypesPackage.eINSTANCE.eClass();
// Create package meta-data objects
theMessageDSLPackage.createPackageContents();
// Initialize created meta-data
theMessageDSLPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theMessageDSLPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(MessageDSLPackage.eNS_URI, theMessageDSLPackage);
return theMessageDSLPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMessageModel() {
return messageModelEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMessageModel_ImportSection() {
return (EReference)messageModelEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMessageModel_Pckg() {
return (EReference)messageModelEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMessagePackage() {
return messagePackageEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMessagePackage_Categories() {
return (EReference)messagePackageEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMessageCategory() {
return messageCategoryEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMessageCategory_Name() {
return (EAttribute)messageCategoryEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMessageCategory_Items() {
return (EReference)messageCategoryEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMessageItem() {
return messageItemEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMessageItem_Name() {
return (EAttribute)messageItemEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMessageItem_Parameters() {
return (EReference)messageItemEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMessageItem_Severities() {
return (EAttribute)messageItemEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMessageItem_AllOutput() {
return (EReference)messageItemEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMessageItem_LogOutput() {
return (EReference)messageItemEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getMessageItem_ShowOutput() {
return (EReference)messageItemEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMessageParameter() {
return messageParameterEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMessageParameter_Name() {
return (EAttribute)messageParameterEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMessageParameter_Oftype() {
return (EAttribute)messageParameterEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getMessageText() {
return messageTextEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getMessageText_Text() {
return (EAttribute)messageTextEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getParameterTypeEnum() {
return parameterTypeEnumEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getSeverityEnum() {
return severityEnumEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public MessageDSLFactory getMessageDSLFactory() {
return (MessageDSLFactory)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
messageModelEClass = createEClass(MESSAGE_MODEL);
createEReference(messageModelEClass, MESSAGE_MODEL__IMPORT_SECTION);
createEReference(messageModelEClass, MESSAGE_MODEL__PCKG);
messagePackageEClass = createEClass(MESSAGE_PACKAGE);
createEReference(messagePackageEClass, MESSAGE_PACKAGE__CATEGORIES);
messageCategoryEClass = createEClass(MESSAGE_CATEGORY);
createEAttribute(messageCategoryEClass, MESSAGE_CATEGORY__NAME);
createEReference(messageCategoryEClass, MESSAGE_CATEGORY__ITEMS);
messageItemEClass = createEClass(MESSAGE_ITEM);
createEAttribute(messageItemEClass, MESSAGE_ITEM__NAME);
createEReference(messageItemEClass, MESSAGE_ITEM__PARAMETERS);
createEAttribute(messageItemEClass, MESSAGE_ITEM__SEVERITIES);
createEReference(messageItemEClass, MESSAGE_ITEM__ALL_OUTPUT);
createEReference(messageItemEClass, MESSAGE_ITEM__LOG_OUTPUT);
createEReference(messageItemEClass, MESSAGE_ITEM__SHOW_OUTPUT);
messageParameterEClass = createEClass(MESSAGE_PARAMETER);
createEAttribute(messageParameterEClass, MESSAGE_PARAMETER__NAME);
createEAttribute(messageParameterEClass, MESSAGE_PARAMETER__OFTYPE);
messageTextEClass = createEClass(MESSAGE_TEXT);
createEAttribute(messageTextEClass, MESSAGE_TEXT__TEXT);
// Create enums
parameterTypeEnumEEnum = createEEnum(PARAMETER_TYPE_ENUM);
severityEnumEEnum = createEEnum(SEVERITY_ENUM);
}
/**
* <!-- 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
XtypePackage theXtypePackage = (XtypePackage)EPackage.Registry.INSTANCE.getEPackage(XtypePackage.eNS_URI);
OSBPTypesPackage theOSBPTypesPackage = (OSBPTypesPackage)EPackage.Registry.INSTANCE.getEPackage(OSBPTypesPackage.eNS_URI);
EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
messagePackageEClass.getESuperTypes().add(theOSBPTypesPackage.getLPackage());
// Initialize classes, features, and operations; add parameters
initEClass(messageModelEClass, MessageModel.class, "MessageModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getMessageModel_ImportSection(), theXtypePackage.getXImportSection(), null, "importSection", null, 0, 1, MessageModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMessageModel_Pckg(), this.getMessagePackage(), null, "pckg", null, 0, 1, MessageModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(messagePackageEClass, MessagePackage.class, "MessagePackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getMessagePackage_Categories(), this.getMessageCategory(), null, "categories", null, 0, -1, MessagePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(messageCategoryEClass, MessageCategory.class, "MessageCategory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getMessageCategory_Name(), theEcorePackage.getEString(), "name", null, 0, 1, MessageCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMessageCategory_Items(), this.getMessageItem(), null, "items", null, 0, -1, MessageCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(messageItemEClass, MessageItem.class, "MessageItem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getMessageItem_Name(), theEcorePackage.getEString(), "name", null, 0, 1, MessageItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMessageItem_Parameters(), this.getMessageParameter(), null, "parameters", null, 0, -1, MessageItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMessageItem_Severities(), this.getSeverityEnum(), "severities", null, 0, -1, MessageItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMessageItem_AllOutput(), this.getMessageText(), null, "allOutput", null, 0, 1, MessageItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMessageItem_LogOutput(), this.getMessageText(), null, "logOutput", null, 0, 1, MessageItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMessageItem_ShowOutput(), this.getMessageText(), null, "showOutput", null, 0, 1, MessageItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(messageParameterEClass, MessageParameter.class, "MessageParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getMessageParameter_Name(), theEcorePackage.getEString(), "name", null, 0, 1, MessageParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMessageParameter_Oftype(), this.getParameterTypeEnum(), "oftype", null, 0, 1, MessageParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(messageTextEClass, MessageText.class, "MessageText", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getMessageText_Text(), theEcorePackage.getEString(), "text", null, 0, 1, MessageText.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Initialize enums and add enum literals
initEEnum(parameterTypeEnumEEnum, ParameterTypeEnum.class, "ParameterTypeEnum");
addEEnumLiteral(parameterTypeEnumEEnum, ParameterTypeEnum.BOOLEAN);
addEEnumLiteral(parameterTypeEnumEEnum, ParameterTypeEnum.INTEGER);
addEEnumLiteral(parameterTypeEnumEEnum, ParameterTypeEnum.DOUBLE);
addEEnumLiteral(parameterTypeEnumEEnum, ParameterTypeEnum.STRING);
addEEnumLiteral(parameterTypeEnumEEnum, ParameterTypeEnum.CLASS);
addEEnumLiteral(parameterTypeEnumEEnum, ParameterTypeEnum.OBJECT);
addEEnumLiteral(parameterTypeEnumEEnum, ParameterTypeEnum.EXCEPTION);
initEEnum(severityEnumEEnum, SeverityEnum.class, "SeverityEnum");
addEEnumLiteral(severityEnumEEnum, SeverityEnum.LOG_TRACE);
addEEnumLiteral(severityEnumEEnum, SeverityEnum.LOG_DEBUG);
addEEnumLiteral(severityEnumEEnum, SeverityEnum.LOG_INFO);
addEEnumLiteral(severityEnumEEnum, SeverityEnum.LOG_WARN);
addEEnumLiteral(severityEnumEEnum, SeverityEnum.LOG_ERROR);
addEEnumLiteral(severityEnumEEnum, SeverityEnum.SHOW_INFO);
addEEnumLiteral(severityEnumEEnum, SeverityEnum.SHOW_WARN);
addEEnumLiteral(severityEnumEEnum, SeverityEnum.SHOW_ERROR);
// Create resource
createResource(eNS_URI);
// Create annotations
// http://www.eclipse.org/emf/2002/Ecore
createEcoreAnnotations();
}
/**
* Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void createEcoreAnnotations() {
String source = "http://www.eclipse.org/emf/2002/Ecore";
addAnnotation
(this,
source,
new String[] {
"rootPackage", "messageDSL"
});
}
} //MessageDSLPackageImpl