/******************************************************************************* * Copyright (c) 2006-2012 * Software Technology Group, Dresden University of Technology * DevBoost GmbH, Berlin, Amtsgericht Charlottenburg, HRB 140026 * * 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: * Software Technology Group - TU Dresden, Germany; * DevBoost GmbH - Berlin, Germany * - initial API and implementation ******************************************************************************/ /** * Copyright (c) 2006-2011 * Software Technology Group, Dresden University of Technology * * 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: * Software Technology Group - TU Dresden, Germany * - initial API and implementation */ package org.reuseware.sokan.ui.model.sokanui.impl; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EDataType; 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.emf.ecore.resource.ResourceSet; import org.reuseware.sokan.SokanPackage; import org.reuseware.sokan.ui.model.sokanui.Artifact; import org.reuseware.sokan.ui.model.sokanui.Folder; import org.reuseware.sokan.ui.model.sokanui.IdentifiableElement; import org.reuseware.sokan.ui.model.sokanui.Root; import org.reuseware.sokan.ui.model.sokanui.RootFolder; import org.reuseware.sokan.ui.model.sokanui.RootPackage; import org.reuseware.sokan.ui.model.sokanui.SokanuiFactory; import org.reuseware.sokan.ui.model.sokanui.SokanuiPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class SokanuiPackageImpl extends EPackageImpl implements SokanuiPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass rootEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass rootPackageEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass rootFolderEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass identifiableElementEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass containerEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass packageEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass folderEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass artifactEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EDataType resourceSetEDataType = 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.reuseware.sokan.ui.model.sokanui.SokanuiPackage#eNS_URI * @see #init() * @generated */ private SokanuiPackageImpl() { super(eNS_URI, SokanuiFactory.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 SokanuiPackage#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 SokanuiPackage init() { if (isInited) return (SokanuiPackage)EPackage.Registry.INSTANCE.getEPackage(SokanuiPackage.eNS_URI); // Obtain or create and register package SokanuiPackageImpl theSokanuiPackage = (SokanuiPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SokanuiPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SokanuiPackageImpl()); isInited = true; // Initialize simple dependencies EcorePackage.eINSTANCE.eClass(); SokanPackage.eINSTANCE.eClass(); // Create package meta-data objects theSokanuiPackage.createPackageContents(); // Initialize created meta-data theSokanuiPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theSokanuiPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(SokanuiPackage.eNS_URI, theSokanuiPackage); return theSokanuiPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getRoot() { return rootEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getRoot_VisibleTypes() { return (EReference)rootEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getRoot_ResourceSet() { return (EAttribute)rootEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getRootPackage() { return rootPackageEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getRootPackage_Packages() { return (EReference)rootPackageEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getRootFolder() { return rootFolderEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getRootFolder_Folders() { return (EReference)rootFolderEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getIdentifiableElement() { return identifiableElementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getIdentifiableElement_Id() { return (EAttribute)identifiableElementEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getContainer() { return containerEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getContainer_Elements() { return (EReference)containerEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getPackage() { return packageEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getFolder() { return folderEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getFolder_SubFolders() { return (EReference)folderEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getArtifact() { return artifactEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getArtifact_Contents() { return (EReference)artifactEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getArtifact_IndexRow() { return (EReference)artifactEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getArtifact_ResourceSet() { return (EAttribute)artifactEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EDataType getResourceSet() { return resourceSetEDataType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public SokanuiFactory getSokanuiFactory() { return (SokanuiFactory)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 rootEClass = createEClass(ROOT); createEReference(rootEClass, ROOT__VISIBLE_TYPES); createEAttribute(rootEClass, ROOT__RESOURCE_SET); rootPackageEClass = createEClass(ROOT_PACKAGE); createEReference(rootPackageEClass, ROOT_PACKAGE__PACKAGES); rootFolderEClass = createEClass(ROOT_FOLDER); createEReference(rootFolderEClass, ROOT_FOLDER__FOLDERS); identifiableElementEClass = createEClass(IDENTIFIABLE_ELEMENT); createEAttribute(identifiableElementEClass, IDENTIFIABLE_ELEMENT__ID); containerEClass = createEClass(CONTAINER); createEReference(containerEClass, CONTAINER__ELEMENTS); packageEClass = createEClass(PACKAGE); folderEClass = createEClass(FOLDER); createEReference(folderEClass, FOLDER__SUB_FOLDERS); artifactEClass = createEClass(ARTIFACT); createEReference(artifactEClass, ARTIFACT__CONTENTS); createEReference(artifactEClass, ARTIFACT__INDEX_ROW); createEAttribute(artifactEClass, ARTIFACT__RESOURCE_SET); // Create data types resourceSetEDataType = createEDataType(RESOURCE_SET); } /** * <!-- 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 EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI); SokanPackage theSokanPackage = (SokanPackage)EPackage.Registry.INSTANCE.getEPackage(SokanPackage.eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes rootPackageEClass.getESuperTypes().add(this.getRoot()); rootFolderEClass.getESuperTypes().add(this.getRoot()); containerEClass.getESuperTypes().add(this.getIdentifiableElement()); packageEClass.getESuperTypes().add(this.getContainer()); folderEClass.getESuperTypes().add(this.getContainer()); artifactEClass.getESuperTypes().add(this.getIdentifiableElement()); // Initialize classes and features; add operations and parameters initEClass(rootEClass, Root.class, "Root", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getRoot_VisibleTypes(), theEcorePackage.getEClass(), null, "visibleTypes", null, 0, -1, Root.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getRoot_ResourceSet(), this.getResourceSet(), "resourceSet", null, 0, 1, Root.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(rootPackageEClass, RootPackage.class, "RootPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getRootPackage_Packages(), this.getPackage(), null, "packages", null, 0, -1, RootPackage.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(rootFolderEClass, RootFolder.class, "RootFolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getRootFolder_Folders(), this.getFolder(), null, "folders", null, 0, -1, RootFolder.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(identifiableElementEClass, IdentifiableElement.class, "IdentifiableElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getIdentifiableElement_Id(), ecorePackage.getEString(), "id", null, 1, -1, IdentifiableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(containerEClass, org.reuseware.sokan.ui.model.sokanui.Container.class, "Container", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getContainer_Elements(), ecorePackage.getEObject(), null, "elements", null, 0, -1, org.reuseware.sokan.ui.model.sokanui.Container.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); addEOperation(containerEClass, theEcorePackage.getEBoolean(), "areElementsLoaded", 0, 1, IS_UNIQUE, IS_ORDERED); initEClass(packageEClass, org.reuseware.sokan.ui.model.sokanui.Package.class, "Package", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(folderEClass, Folder.class, "Folder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getFolder_SubFolders(), this.getFolder(), null, "subFolders", null, 0, -1, Folder.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(artifactEClass, Artifact.class, "Artifact", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getArtifact_Contents(), ecorePackage.getEObject(), null, "contents", null, 0, -1, Artifact.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getArtifact_IndexRow(), theSokanPackage.getIndexRow(), null, "indexRow", null, 0, 1, Artifact.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getArtifact_ResourceSet(), this.getResourceSet(), "resourceSet", null, 0, 1, Artifact.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); addEOperation(artifactEClass, theEcorePackage.getEBoolean(), "areContentsLoaded", 0, 1, IS_UNIQUE, IS_ORDERED); // Initialize data types initEDataType(resourceSetEDataType, ResourceSet.class, "ResourceSet", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); // Create resource createResource(eNS_URI); } } //SokanuiPackageImpl