/** * Copyright (c) 2005, 2009 eXXcellent solution gmbh 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: * Achim Demelt - initial API and implementation * * $Id: TracePackageImpl.java,v 1.1 2009/08/20 12:04:23 ademelt Exp $ */ package org.eclipse.xpand.incremental.trace.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.xpand.incremental.trace.InputElement; import org.eclipse.xpand.incremental.trace.OutputFile; import org.eclipse.xpand.incremental.trace.Trace; import org.eclipse.xpand.incremental.trace.TraceFactory; import org.eclipse.xpand.incremental.trace.TracePackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class TracePackageImpl extends EPackageImpl implements TracePackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static final String copyright = "Copyright (c) 2005, 2009 eXXcellent solution gmbh and others.\nAll rights reserved. This program and the accompanying materials\nare made available under the terms of the Eclipse Public License v1.0\nwhich accompanies this distribution, and is available at\nhttp://www.eclipse.org/legal/epl-v10.html\n\nContributors:\n Achim Demelt - initial API and implementation"; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass traceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass outputFileEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass inputElementEClass = 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.xpand.incremental.trace.TracePackage#eNS_URI * @see #init() * @generated */ private TracePackageImpl() { super(eNS_URI, TraceFactory.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 TracePackage#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 TracePackage init() { if (isInited) return (TracePackage) EPackage.Registry.INSTANCE .getEPackage(TracePackage.eNS_URI); // Obtain or create and register package TracePackageImpl theTracePackage = (TracePackageImpl) (EPackage.Registry.INSTANCE .get(eNS_URI) instanceof TracePackageImpl ? EPackage.Registry.INSTANCE .get(eNS_URI) : new TracePackageImpl()); isInited = true; // Create package meta-data objects theTracePackage.createPackageContents(); // Initialize created meta-data theTracePackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theTracePackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(TracePackage.eNS_URI, theTracePackage); return theTracePackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getTrace() { return traceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getTrace_OutputFiles() { return (EReference) traceEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getOutputFile() { return outputFileEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getOutputFile_FileName() { return (EAttribute) outputFileEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getOutputFile_InputElements() { return (EReference) outputFileEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getOutputFile_TargetObject() { return (EReference) outputFileEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getOutputFile_Outlet() { return (EAttribute) outputFileEClass.getEStructuralFeatures().get(3); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getInputElement() { return inputElementEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getInputElement_ModelElement() { return (EReference) inputElementEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getInputElement_Feature() { return (EReference) inputElementEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TraceFactory getTraceFactory() { return (TraceFactory) 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 traceEClass = createEClass(TRACE); createEReference(traceEClass, TRACE__OUTPUT_FILES); outputFileEClass = createEClass(OUTPUT_FILE); createEAttribute(outputFileEClass, OUTPUT_FILE__FILE_NAME); createEReference(outputFileEClass, OUTPUT_FILE__INPUT_ELEMENTS); createEReference(outputFileEClass, OUTPUT_FILE__TARGET_OBJECT); createEAttribute(outputFileEClass, OUTPUT_FILE__OUTLET); inputElementEClass = createEClass(INPUT_ELEMENT); createEReference(inputElementEClass, INPUT_ELEMENT__MODEL_ELEMENT); createEReference(inputElementEClass, INPUT_ELEMENT__FEATURE); } /** * <!-- 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 // Initialize classes and features; add operations and parameters initEClass(traceEClass, Trace.class, "Trace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getTrace_OutputFiles(), this.getOutputFile(), null, "outputFiles", null, 0, -1, Trace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(outputFileEClass, OutputFile.class, "OutputFile", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getOutputFile_FileName(), ecorePackage.getEString(), "fileName", null, 1, 1, OutputFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getOutputFile_InputElements(), this.getInputElement(), null, "inputElements", null, 0, -1, OutputFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getOutputFile_TargetObject(), ecorePackage.getEObject(), null, "targetObject", null, 1, 1, OutputFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getOutputFile_Outlet(), ecorePackage.getEString(), "outlet", null, 0, 1, OutputFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(inputElementEClass, InputElement.class, "InputElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getInputElement_ModelElement(), ecorePackage .getEObject(), null, "modelElement", null, 1, 1, InputElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getInputElement_Feature(), ecorePackage .getEStructuralFeature(), null, "feature", null, 1, 1, InputElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Create resource createResource(eNS_URI); } } //TracePackageImpl