blob: ac7257779bae513a6ddd165546d0cb9ccbf5c5a1 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008-2011 Chair for Applied Software Engineering,
* Technische Universitaet Muenchen.
* 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:
******************************************************************************/
package org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.impl;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.emf.emfstore.internal.common.model.ModelPackage;
import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.AccesscontrolPackage;
import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.impl.AccesscontrolPackageImpl;
import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles.RolesPackage;
import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles.impl.RolesPackageImpl;
import org.eclipse.emf.emfstore.internal.server.model.impl.ModelPackageImpl;
import org.eclipse.emf.emfstore.internal.server.model.url.UrlPackage;
import org.eclipse.emf.emfstore.internal.server.model.url.impl.UrlPackageImpl;
import org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningPackage;
import org.eclipse.emf.emfstore.internal.server.model.versioning.events.EventsPackage;
import org.eclipse.emf.emfstore.internal.server.model.versioning.events.impl.EventsPackageImpl;
import org.eclipse.emf.emfstore.internal.server.model.versioning.events.server.ServerPackage;
import org.eclipse.emf.emfstore.internal.server.model.versioning.events.server.impl.ServerPackageImpl;
import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.VersioningPackageImpl;
import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.OperationsPackage;
import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.impl.OperationsPackageImpl;
import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.SemanticCompositeOperation;
import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.SemanticFactory;
import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.SemanticPackage;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
* end-user-doc -->
*
* @generated
*/
public class SemanticPackageImpl extends EPackageImpl implements SemanticPackage {
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private EClass semanticCompositeOperationEClass = 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.emf.emfstore.internal.server.model.versioning.operations.semantic.SemanticPackage#eNS_URI
* @see #init()
* @generated
*/
private SemanticPackageImpl() {
super(eNS_URI, SemanticFactory.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 SemanticPackage#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 SemanticPackage init() {
if (isInited) {
return (SemanticPackage) EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI);
}
// Obtain or create and register package
final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
.get(eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
: new SemanticPackageImpl());
isInited = true;
// Initialize simple dependencies
ModelPackage.eINSTANCE.eClass();
// Obtain or create and register interdependencies
final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(
org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl
? EPackage.Registry.INSTANCE
.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl
? EPackage.Registry.INSTANCE.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl
? EPackage.Registry.INSTANCE.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl
? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl
? EPackage.Registry.INSTANCE.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl
? EPackage.Registry.INSTANCE.getEPackage(AccesscontrolPackage.eNS_URI)
: AccesscontrolPackage.eINSTANCE);
final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl
? EPackage.Registry.INSTANCE.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl
? EPackage.Registry.INSTANCE.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
// Create package meta-data objects
theSemanticPackage.createPackageContents();
theModelPackage_1.createPackageContents();
theVersioningPackage.createPackageContents();
theOperationsPackage.createPackageContents();
theEventsPackage.createPackageContents();
theServerPackage.createPackageContents();
theAccesscontrolPackage.createPackageContents();
theRolesPackage.createPackageContents();
theUrlPackage.createPackageContents();
// Initialize created meta-data
theSemanticPackage.initializePackageContents();
theModelPackage_1.initializePackageContents();
theVersioningPackage.initializePackageContents();
theOperationsPackage.initializePackageContents();
theEventsPackage.initializePackageContents();
theServerPackage.initializePackageContents();
theAccesscontrolPackage.initializePackageContents();
theRolesPackage.initializePackageContents();
theUrlPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theSemanticPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(SemanticPackage.eNS_URI, theSemanticPackage);
return theSemanticPackage;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EClass getSemanticCompositeOperation() {
return semanticCompositeOperationEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public SemanticFactory getSemanticFactory() {
return (SemanticFactory) 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
semanticCompositeOperationEClass = createEClass(SEMANTIC_COMPOSITE_OPERATION);
}
/**
* <!-- 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
final OperationsPackage theOperationsPackage = (OperationsPackage) EPackage.Registry.INSTANCE
.getEPackage(OperationsPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
semanticCompositeOperationEClass.getESuperTypes().add(theOperationsPackage.getCompositeOperation());
// Initialize classes and features; add operations and parameters
initEClass(semanticCompositeOperationEClass, SemanticCompositeOperation.class, "SemanticCompositeOperation", //$NON-NLS-1$
IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
}
} // SemanticPackageImpl