/******************************************************************************* * Copyright (c) 2013, 2015 Willink Transformations and others. * 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: * E.D.Willink - initial API and implementation *******************************************************************************/ /** */ package org.eclipse.ocl.pivot.internal.values; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.impl.EPackageImpl; import org.eclipse.ocl.pivot.values.BagValue; import org.eclipse.ocl.pivot.values.CollectionValue; import org.eclipse.ocl.pivot.values.IntegerValue; import org.eclipse.ocl.pivot.values.InvalidValue; import org.eclipse.ocl.pivot.values.MapValue; import org.eclipse.ocl.pivot.values.NullValue; import org.eclipse.ocl.pivot.values.ObjectValue; import org.eclipse.ocl.pivot.values.OrderedCollectionValue; import org.eclipse.ocl.pivot.values.OrderedSetValue; import org.eclipse.ocl.pivot.values.RealValue; import org.eclipse.ocl.pivot.values.SequenceValue; import org.eclipse.ocl.pivot.values.SetValue; import org.eclipse.ocl.pivot.values.TupleValue; import org.eclipse.ocl.pivot.values.UniqueCollectionValue; import org.eclipse.ocl.pivot.values.UnlimitedValue; import org.eclipse.ocl.pivot.values.Value; import org.eclipse.ocl.pivot.values.ValuesFactory; import org.eclipse.ocl.pivot.values.ValuesPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class ValuesPackageImpl extends EPackageImpl implements ValuesPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass bagValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass collectionValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass integerValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass invalidValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass mapValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass nullValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass objectValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass orderedCollectionValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass orderedSetValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass realValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sequenceValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass setValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass tupleValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass uniqueCollectionValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass unlimitedValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass valueEClass = 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.ocl.pivot.values.ValuesPackage#eNS_URI * @see #init() * @generated */ private ValuesPackageImpl() { super(eNS_URI, ValuesFactory.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 ValuesPackage#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 ValuesPackage init() { if (isInited) return (ValuesPackage)EPackage.Registry.INSTANCE.getEPackage(ValuesPackage.eNS_URI); // Obtain or create and register package Object ePackage = EPackage.Registry.INSTANCE.get(eNS_URI); ValuesPackageImpl theValuesPackage = (ValuesPackageImpl)(ePackage instanceof ValuesPackageImpl ? ePackage : new ValuesPackageImpl()); isInited = true; // Create package meta-data objects theValuesPackage.createPackageContents(); // Initialize created meta-data theValuesPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theValuesPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(ValuesPackage.eNS_URI, theValuesPackage); return theValuesPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getBagValue() { return bagValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getCollectionValue() { return collectionValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getIntegerValue() { return integerValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getInvalidValue() { return invalidValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getMapValue() { return mapValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getNullValue() { return nullValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getObjectValue() { return objectValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getOrderedCollectionValue() { return orderedCollectionValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getOrderedSetValue() { return orderedSetValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getRealValue() { return realValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getSequenceValue() { return sequenceValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getSetValue() { return setValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getTupleValue() { return tupleValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getUniqueCollectionValue() { return uniqueCollectionValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getUnlimitedValue() { return unlimitedValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EClass getValue() { return valueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public ValuesFactory getValuesFactory() { return (ValuesFactory)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 bagValueEClass = createEClass(BAG_VALUE); collectionValueEClass = createEClass(COLLECTION_VALUE); integerValueEClass = createEClass(INTEGER_VALUE); invalidValueEClass = createEClass(INVALID_VALUE); mapValueEClass = createEClass(MAP_VALUE); nullValueEClass = createEClass(NULL_VALUE); objectValueEClass = createEClass(OBJECT_VALUE); orderedCollectionValueEClass = createEClass(ORDERED_COLLECTION_VALUE); orderedSetValueEClass = createEClass(ORDERED_SET_VALUE); realValueEClass = createEClass(REAL_VALUE); sequenceValueEClass = createEClass(SEQUENCE_VALUE); setValueEClass = createEClass(SET_VALUE); tupleValueEClass = createEClass(TUPLE_VALUE); uniqueCollectionValueEClass = createEClass(UNIQUE_COLLECTION_VALUE); unlimitedValueEClass = createEClass(UNLIMITED_VALUE); valueEClass = createEClass(VALUE); } /** * <!-- 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); // Create type parameters // Set bounds for type parameters // Add supertypes to classes bagValueEClass.getESuperTypes().add(this.getCollectionValue()); collectionValueEClass.getESuperTypes().add(this.getValue()); integerValueEClass.getESuperTypes().add(this.getRealValue()); invalidValueEClass.getESuperTypes().add(this.getNullValue()); mapValueEClass.getESuperTypes().add(this.getValue()); nullValueEClass.getESuperTypes().add(this.getObjectValue()); nullValueEClass.getESuperTypes().add(this.getBagValue()); nullValueEClass.getESuperTypes().add(this.getMapValue()); nullValueEClass.getESuperTypes().add(this.getOrderedSetValue()); nullValueEClass.getESuperTypes().add(this.getSequenceValue()); nullValueEClass.getESuperTypes().add(this.getSetValue()); nullValueEClass.getESuperTypes().add(this.getTupleValue()); nullValueEClass.getESuperTypes().add(this.getUnlimitedValue()); objectValueEClass.getESuperTypes().add(this.getValue()); orderedCollectionValueEClass.getESuperTypes().add(this.getCollectionValue()); orderedSetValueEClass.getESuperTypes().add(this.getOrderedCollectionValue()); orderedSetValueEClass.getESuperTypes().add(this.getUniqueCollectionValue()); realValueEClass.getESuperTypes().add(this.getValue()); sequenceValueEClass.getESuperTypes().add(this.getOrderedCollectionValue()); setValueEClass.getESuperTypes().add(this.getUniqueCollectionValue()); tupleValueEClass.getESuperTypes().add(this.getValue()); uniqueCollectionValueEClass.getESuperTypes().add(this.getCollectionValue()); unlimitedValueEClass.getESuperTypes().add(this.getIntegerValue()); // Initialize classes and features; add operations and parameters initEClass(bagValueEClass, BagValue.class, "BagValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(collectionValueEClass, CollectionValue.class, "CollectionValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(integerValueEClass, IntegerValue.class, "IntegerValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(invalidValueEClass, InvalidValue.class, "InvalidValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(mapValueEClass, MapValue.class, "MapValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(nullValueEClass, NullValue.class, "NullValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(objectValueEClass, ObjectValue.class, "ObjectValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(orderedCollectionValueEClass, OrderedCollectionValue.class, "OrderedCollectionValue", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(orderedSetValueEClass, OrderedSetValue.class, "OrderedSetValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(realValueEClass, RealValue.class, "RealValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(sequenceValueEClass, SequenceValue.class, "SequenceValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(setValueEClass, SetValue.class, "SetValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(tupleValueEClass, TupleValue.class, "TupleValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(uniqueCollectionValueEClass, UniqueCollectionValue.class, "UniqueCollectionValue", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(unlimitedValueEClass, UnlimitedValue.class, "UnlimitedValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(valueEClass, Value.class, "Value", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); // Create resource createResource(eNS_URI); } } //ValuesPackageImpl