/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.metamodels.wsdl.mime.impl; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; import org.eclipse.emf.ecore.impl.EcorePackageImpl; import org.eclipse.xsd.impl.XSDPackageImpl; import org.teiid.designer.metamodels.wsdl.WsdlPackage; import org.teiid.designer.metamodels.wsdl.http.HttpPackage; import org.teiid.designer.metamodels.wsdl.http.impl.HttpPackageImpl; import org.teiid.designer.metamodels.wsdl.impl.WsdlPackageImpl; import org.teiid.designer.metamodels.wsdl.mime.MimeContent; import org.teiid.designer.metamodels.wsdl.mime.MimeElement; import org.teiid.designer.metamodels.wsdl.mime.MimeElementOwner; import org.teiid.designer.metamodels.wsdl.mime.MimeFactory; import org.teiid.designer.metamodels.wsdl.mime.MimeMultipartRelated; import org.teiid.designer.metamodels.wsdl.mime.MimePackage; import org.teiid.designer.metamodels.wsdl.mime.MimePart; import org.teiid.designer.metamodels.wsdl.soap.SoapPackage; import org.teiid.designer.metamodels.wsdl.soap.impl.SoapPackageImpl; /** * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc --> * * @generated * * @since 8.0 */ public class MimePackageImpl extends EPackageImpl implements MimePackage { /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ private EClass mimeContentEClass = null; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ private EClass mimeMultipartRelatedEClass = null; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ private EClass mimePartEClass = null; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ private EClass mimeElementOwnerEClass = null; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ private EClass mimeElementEClass = 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.teiid.designer.metamodels.wsdl.mime.MimePackage#eNS_URI * @see #init() * @generated */ private MimePackageImpl() { super(eNS_URI, MimeFactory.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. Simple * dependencies are satisfied by calling this method on all dependent packages before doing anything else. This method drives * initialization for interdependent packages directly, in parallel with this package, itself. * <p> * Of this package and its interdependencies, all packages which have not yet been registered by their URI values are first * created and registered. The packages are then initialized in two steps: meta-model objects for all of the packages are * created before any are initialized, since one package's meta-model objects may refer to those of another. * <p> * Invocation of this method will not affect any packages that have already been initialized. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @see #eNS_URI * @see #createPackageContents() * @see #initializePackageContents() * @generated */ public static MimePackage init() { if (isInited) return (MimePackage)EPackage.Registry.INSTANCE.getEPackage(MimePackage.eNS_URI); // Obtain or create and register package MimePackageImpl theMimePackage = (MimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof MimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new MimePackageImpl()); isInited = true; // Initialize simple dependencies EcorePackageImpl.init(); XSDPackageImpl.init(); // Obtain or create and register interdependencies WsdlPackageImpl theWsdlPackage = (WsdlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WsdlPackage.eNS_URI) instanceof WsdlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WsdlPackage.eNS_URI) : WsdlPackage.eINSTANCE); SoapPackageImpl theSoapPackage = (SoapPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SoapPackage.eNS_URI) instanceof SoapPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SoapPackage.eNS_URI) : SoapPackage.eINSTANCE); HttpPackageImpl theHttpPackage = (HttpPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HttpPackage.eNS_URI) instanceof HttpPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HttpPackage.eNS_URI) : HttpPackage.eINSTANCE); // Create package meta-data objects theMimePackage.createPackageContents(); theWsdlPackage.createPackageContents(); theSoapPackage.createPackageContents(); theHttpPackage.createPackageContents(); // Initialize created meta-data theMimePackage.initializePackageContents(); theWsdlPackage.initializePackageContents(); theSoapPackage.initializePackageContents(); theHttpPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theMimePackage.freeze(); return theMimePackage; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EClass getMimeContent() { return mimeContentEClass; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EAttribute getMimeContent_Type() { return (EAttribute)mimeContentEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EAttribute getMimeContent_Xml() { return (EAttribute)mimeContentEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EReference getMimeContent_MessagePart() { return (EReference)mimeContentEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EClass getMimeMultipartRelated() { return mimeMultipartRelatedEClass; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EReference getMimeMultipartRelated_MimeParts() { return (EReference)mimeMultipartRelatedEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EClass getMimePart() { return mimePartEClass; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EReference getMimePart_MimeMultipartRelated() { return (EReference)mimePartEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EClass getMimeElementOwner() { return mimeElementOwnerEClass; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EReference getMimeElementOwner_MimeElements() { return (EReference)mimeElementOwnerEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EClass getMimeElement() { return mimeElementEClass; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public EReference getMimeElement_MimeElementOwner() { return (EReference)mimeElementEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public MimeFactory getMimeFactory() { return (MimeFactory)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 mimeContentEClass = createEClass(MIME_CONTENT); createEReference(mimeContentEClass, MIME_CONTENT__MESSAGE_PART); createEAttribute(mimeContentEClass, MIME_CONTENT__TYPE); createEAttribute(mimeContentEClass, MIME_CONTENT__XML); mimeMultipartRelatedEClass = createEClass(MIME_MULTIPART_RELATED); createEReference(mimeMultipartRelatedEClass, MIME_MULTIPART_RELATED__MIME_PARTS); mimePartEClass = createEClass(MIME_PART); createEReference(mimePartEClass, MIME_PART__MIME_MULTIPART_RELATED); mimeElementOwnerEClass = createEClass(MIME_ELEMENT_OWNER); createEReference(mimeElementOwnerEClass, MIME_ELEMENT_OWNER__MIME_ELEMENTS); mimeElementEClass = createEClass(MIME_ELEMENT); createEReference(mimeElementEClass, MIME_ELEMENT__MIME_ELEMENT_OWNER); } /** * <!-- 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 WsdlPackageImpl theWsdlPackage = (WsdlPackageImpl)EPackage.Registry.INSTANCE.getEPackage(WsdlPackage.eNS_URI); // Add supertypes to classes mimeContentEClass.getESuperTypes().add(this.getMimeElement()); mimeMultipartRelatedEClass.getESuperTypes().add(this.getMimeElement()); mimePartEClass.getESuperTypes().add(this.getMimeElementOwner()); // Initialize classes and features; add operations and parameters initEClass(mimeContentEClass, MimeContent.class, "MimeContent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getMimeContent_MessagePart(), theWsdlPackage.getMessagePart(), null, "messagePart", null, 0, 1, MimeContent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEAttribute(getMimeContent_Type(), ecorePackage.getEString(), "type", null, 0, 1, MimeContent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEAttribute(getMimeContent_Xml(), ecorePackage.getEBoolean(), "xml", "false", 0, 1, MimeContent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$ initEClass(mimeMultipartRelatedEClass, MimeMultipartRelated.class, "MimeMultipartRelated", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getMimeMultipartRelated_MimeParts(), this.getMimePart(), this.getMimePart_MimeMultipartRelated(), "mimeParts", null, 0, -1, MimeMultipartRelated.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(mimePartEClass, MimePart.class, "MimePart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getMimePart_MimeMultipartRelated(), this.getMimeMultipartRelated(), this.getMimeMultipartRelated_MimeParts(), "mimeMultipartRelated", null, 1, 1, MimePart.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(mimeElementOwnerEClass, MimeElementOwner.class, "MimeElementOwner", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getMimeElementOwner_MimeElements(), this.getMimeElement(), this.getMimeElement_MimeElementOwner(), "mimeElements", null, 0, -1, MimeElementOwner.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(mimeElementEClass, MimeElement.class, "MimeElement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getMimeElement_MimeElementOwner(), this.getMimeElementOwner(), this.getMimeElementOwner_MimeElements(), "mimeElementOwner", null, 1, 1, MimeElement.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ // Create resource createResource(eNS_URI); } } // MimePackageImpl