/** * Copyright (c) 2008 xored software, Inc. * * 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: * xored software, Inc. - initial API and Implementation (Alex Panchenko) * * * $Id: PreferencesPackageImpl.java,v 1.5 2009/10/26 12:41:50 apanchenk Exp $ */ package org.eclipse.dltk.tcl.activestatedebugger.preferences.impl; import org.eclipse.dltk.tcl.activestatedebugger.preferences.ContainerPattern; import org.eclipse.dltk.tcl.activestatedebugger.preferences.ContainerType; import org.eclipse.dltk.tcl.activestatedebugger.preferences.InstrumentationConfig; import org.eclipse.dltk.tcl.activestatedebugger.preferences.InstrumentationMode; import org.eclipse.dltk.tcl.activestatedebugger.preferences.LibraryPattern; import org.eclipse.dltk.tcl.activestatedebugger.preferences.ModelElementPattern; import org.eclipse.dltk.tcl.activestatedebugger.preferences.PackagePattern; import org.eclipse.dltk.tcl.activestatedebugger.preferences.Pattern; import org.eclipse.dltk.tcl.activestatedebugger.preferences.PreferencesFactory; import org.eclipse.dltk.tcl.activestatedebugger.preferences.PreferencesPackage; import org.eclipse.dltk.tcl.activestatedebugger.preferences.SourcePattern; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class PreferencesPackageImpl extends EPackageImpl implements PreferencesPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass modelElementPatternEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass instrumentationConfigEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass patternEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass libraryPatternEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass packagePatternEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass sourcePatternEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass containerPatternEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum instrumentationModeEEnum = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum containerTypeEEnum = 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.dltk.tcl.activestatedebugger.preferences.PreferencesPackage#eNS_URI * @see #init() * @generated */ private PreferencesPackageImpl() { super(eNS_URI, PreferencesFactory.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 PreferencesPackage#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 PreferencesPackage init() { if (isInited) return (PreferencesPackage)EPackage.Registry.INSTANCE.getEPackage(PreferencesPackage.eNS_URI); // Obtain or create and register package PreferencesPackageImpl thePreferencesPackage = (PreferencesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PreferencesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PreferencesPackageImpl()); isInited = true; // Create package meta-data objects thePreferencesPackage.createPackageContents(); // Initialize created meta-data thePreferencesPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed thePreferencesPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(PreferencesPackage.eNS_URI, thePreferencesPackage); return thePreferencesPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getModelElementPattern() { return modelElementPatternEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getModelElementPattern_HandleIdentifier() { return (EAttribute)modelElementPatternEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getInstrumentationConfig() { return instrumentationConfigEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getInstrumentationConfig_ModelElements() { return (EReference)instrumentationConfigEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getInstrumentationConfig_Mode() { return (EAttribute)instrumentationConfigEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getPattern() { return patternEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getPattern_Include() { return (EAttribute)patternEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getLibraryPattern() { return libraryPatternEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getPackagePattern() { return packagePatternEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getPackagePattern_PackageName() { return (EAttribute)packagePatternEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSourcePattern() { return sourcePatternEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getSourcePattern_SourcePath() { return (EAttribute)sourcePatternEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getContainerPattern() { return containerPatternEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getContainerPattern_Type() { return (EAttribute)containerPatternEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getInstrumentationMode() { return instrumentationModeEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getContainerType() { return containerTypeEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PreferencesFactory getPreferencesFactory() { return (PreferencesFactory)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 modelElementPatternEClass = createEClass(MODEL_ELEMENT_PATTERN); createEAttribute(modelElementPatternEClass, MODEL_ELEMENT_PATTERN__HANDLE_IDENTIFIER); instrumentationConfigEClass = createEClass(INSTRUMENTATION_CONFIG); createEAttribute(instrumentationConfigEClass, INSTRUMENTATION_CONFIG__MODE); createEReference(instrumentationConfigEClass, INSTRUMENTATION_CONFIG__MODEL_ELEMENTS); patternEClass = createEClass(PATTERN); createEAttribute(patternEClass, PATTERN__INCLUDE); libraryPatternEClass = createEClass(LIBRARY_PATTERN); packagePatternEClass = createEClass(PACKAGE_PATTERN); createEAttribute(packagePatternEClass, PACKAGE_PATTERN__PACKAGE_NAME); sourcePatternEClass = createEClass(SOURCE_PATTERN); createEAttribute(sourcePatternEClass, SOURCE_PATTERN__SOURCE_PATH); containerPatternEClass = createEClass(CONTAINER_PATTERN); createEAttribute(containerPatternEClass, CONTAINER_PATTERN__TYPE); // Create enums instrumentationModeEEnum = createEEnum(INSTRUMENTATION_MODE); containerTypeEEnum = createEEnum(CONTAINER_TYPE); } /** * <!-- 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 modelElementPatternEClass.getESuperTypes().add(this.getPattern()); libraryPatternEClass.getESuperTypes().add(this.getContainerPattern()); packagePatternEClass.getESuperTypes().add(this.getPattern()); sourcePatternEClass.getESuperTypes().add(this.getPattern()); containerPatternEClass.getESuperTypes().add(this.getPattern()); // Initialize classes and features; add operations and parameters initEClass(modelElementPatternEClass, ModelElementPattern.class, "ModelElementPattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getModelElementPattern_HandleIdentifier(), ecorePackage.getEString(), "handleIdentifier", null, 1, 1, ModelElementPattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(instrumentationConfigEClass, InstrumentationConfig.class, "InstrumentationConfig", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getInstrumentationConfig_Mode(), this.getInstrumentationMode(), "mode", null, 0, 1, InstrumentationConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEReference(getInstrumentationConfig_ModelElements(), this.getPattern(), null, "modelElements", null, 0, -1, InstrumentationConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(patternEClass, Pattern.class, "Pattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getPattern_Include(), ecorePackage.getEBoolean(), "include", null, 1, 1, Pattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(libraryPatternEClass, LibraryPattern.class, "LibraryPattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEClass(packagePatternEClass, PackagePattern.class, "PackagePattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getPackagePattern_PackageName(), ecorePackage.getEString(), "packageName", null, 0, 1, PackagePattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(sourcePatternEClass, SourcePattern.class, "SourcePattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getSourcePattern_SourcePath(), ecorePackage.getEString(), "sourcePath", null, 0, 1, SourcePattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(containerPatternEClass, ContainerPattern.class, "ContainerPattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getContainerPattern_Type(), this.getContainerType(), "type", null, 0, 1, ContainerPattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ // Initialize enums and add enum literals initEEnum(instrumentationModeEEnum, InstrumentationMode.class, "InstrumentationMode"); //$NON-NLS-1$ addEEnumLiteral(instrumentationModeEEnum, InstrumentationMode.DEFAULT); addEEnumLiteral(instrumentationModeEEnum, InstrumentationMode.SOURCES); addEEnumLiteral(instrumentationModeEEnum, InstrumentationMode.SELECTION); initEEnum(containerTypeEEnum, ContainerType.class, "ContainerType"); //$NON-NLS-1$ addEEnumLiteral(containerTypeEEnum, ContainerType.LIBRARIES); addEEnumLiteral(containerTypeEEnum, ContainerType.PACKAGES); addEEnumLiteral(containerTypeEEnum, ContainerType.SOURCES); // Create resource createResource(eNS_URI); } } //PreferencesPackageImpl