| package org.eclipse.stem.core.sequencer.impl; |
| |
| /******************************************************************************* |
| * Copyright (c) 2007, 2008 IBM Corporation 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: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| 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.EcorePackage; |
| import org.eclipse.emf.ecore.impl.EPackageImpl; |
| |
| import org.eclipse.stem.core.common.CommonPackage; |
| |
| import org.eclipse.stem.core.common.impl.CommonPackageImpl; |
| |
| import org.eclipse.stem.core.experiment.ExperimentPackage; |
| import org.eclipse.stem.core.experiment.impl.ExperimentPackageImpl; |
| import org.eclipse.stem.core.graph.GraphPackage; |
| |
| import org.eclipse.stem.core.graph.impl.GraphPackageImpl; |
| |
| import org.eclipse.stem.core.model.ModelPackage; |
| |
| import org.eclipse.stem.core.model.impl.ModelPackageImpl; |
| |
| import org.eclipse.stem.core.modifier.ModifierPackage; |
| import org.eclipse.stem.core.modifier.impl.ModifierPackageImpl; |
| import org.eclipse.stem.core.predicate.PredicatePackage; |
| import org.eclipse.stem.core.predicate.impl.PredicatePackageImpl; |
| import org.eclipse.stem.core.scenario.ScenarioPackage; |
| |
| import org.eclipse.stem.core.scenario.impl.ScenarioPackageImpl; |
| |
| import org.eclipse.stem.core.sequencer.RealTimeSequencer; |
| import org.eclipse.stem.core.sequencer.Sequencer; |
| import org.eclipse.stem.core.sequencer.SequencerFactory; |
| import org.eclipse.stem.core.sequencer.SequencerPackage; |
| import org.eclipse.stem.core.sequencer.SequentialSequencer; |
| import org.eclipse.stem.core.solver.SolverPackage; |
| import org.eclipse.stem.core.solver.impl.SolverPackageImpl; |
| import org.eclipse.stem.core.trigger.TriggerPackage; |
| import org.eclipse.stem.core.trigger.impl.TriggerPackageImpl; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * An implementation of the model <b>Package</b>. |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public class SequencerPackageImpl extends EPackageImpl implements SequencerPackage { |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| private EClass realTimeSequencerEClass = null; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| private EClass sequencerEClass = null; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| private EClass sequentialSequencerEClass = 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.stem.core.sequencer.SequencerPackage#eNS_URI |
| * @see #init() |
| * @generated |
| */ |
| private SequencerPackageImpl() { |
| super(eNS_URI, SequencerFactory.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 SequencerPackage#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 SequencerPackage init() { |
| if (isInited) return (SequencerPackage)EPackage.Registry.INSTANCE.getEPackage(SequencerPackage.eNS_URI); |
| |
| // Obtain or create and register package |
| SequencerPackageImpl theSequencerPackage = (SequencerPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SequencerPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SequencerPackageImpl()); |
| |
| isInited = true; |
| |
| // Initialize simple dependencies |
| EcorePackage.eINSTANCE.eClass(); |
| |
| // Obtain or create and register interdependencies |
| CommonPackageImpl theCommonPackage = (CommonPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI) instanceof CommonPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI) : CommonPackage.eINSTANCE); |
| ExperimentPackageImpl theExperimentPackage = (ExperimentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ExperimentPackage.eNS_URI) instanceof ExperimentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ExperimentPackage.eNS_URI) : ExperimentPackage.eINSTANCE); |
| GraphPackageImpl theGraphPackage = (GraphPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GraphPackage.eNS_URI) instanceof GraphPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GraphPackage.eNS_URI) : GraphPackage.eINSTANCE); |
| ModelPackageImpl theModelPackage = (ModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ModelPackage.eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ModelPackage.eNS_URI) : ModelPackage.eINSTANCE); |
| ModifierPackageImpl theModifierPackage = (ModifierPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ModifierPackage.eNS_URI) instanceof ModifierPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ModifierPackage.eNS_URI) : ModifierPackage.eINSTANCE); |
| PredicatePackageImpl thePredicatePackage = (PredicatePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PredicatePackage.eNS_URI) instanceof PredicatePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PredicatePackage.eNS_URI) : PredicatePackage.eINSTANCE); |
| ScenarioPackageImpl theScenarioPackage = (ScenarioPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ScenarioPackage.eNS_URI) instanceof ScenarioPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ScenarioPackage.eNS_URI) : ScenarioPackage.eINSTANCE); |
| TriggerPackageImpl theTriggerPackage = (TriggerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TriggerPackage.eNS_URI) instanceof TriggerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TriggerPackage.eNS_URI) : TriggerPackage.eINSTANCE); |
| SolverPackageImpl theSolverPackage = (SolverPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SolverPackage.eNS_URI) instanceof SolverPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SolverPackage.eNS_URI) : SolverPackage.eINSTANCE); |
| |
| // Create package meta-data objects |
| theSequencerPackage.createPackageContents(); |
| theCommonPackage.createPackageContents(); |
| theExperimentPackage.createPackageContents(); |
| theGraphPackage.createPackageContents(); |
| theModelPackage.createPackageContents(); |
| theModifierPackage.createPackageContents(); |
| thePredicatePackage.createPackageContents(); |
| theScenarioPackage.createPackageContents(); |
| theTriggerPackage.createPackageContents(); |
| theSolverPackage.createPackageContents(); |
| |
| // Initialize created meta-data |
| theSequencerPackage.initializePackageContents(); |
| theCommonPackage.initializePackageContents(); |
| theExperimentPackage.initializePackageContents(); |
| theGraphPackage.initializePackageContents(); |
| theModelPackage.initializePackageContents(); |
| theModifierPackage.initializePackageContents(); |
| thePredicatePackage.initializePackageContents(); |
| theScenarioPackage.initializePackageContents(); |
| theTriggerPackage.initializePackageContents(); |
| theSolverPackage.initializePackageContents(); |
| |
| // Mark meta-data to indicate it can't be changed |
| theSequencerPackage.freeze(); |
| |
| |
| // Update the registry and return the package |
| EPackage.Registry.INSTANCE.put(SequencerPackage.eNS_URI, theSequencerPackage); |
| return theSequencerPackage; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EClass getRealTimeSequencer() { |
| return realTimeSequencerEClass; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EClass getSequencer() { |
| return sequencerEClass; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EReference getSequencer_StartTime() { |
| return (EReference)sequencerEClass.getEStructuralFeatures().get(0); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EReference getSequencer_EndTime() { |
| return (EReference)sequencerEClass.getEStructuralFeatures().get(1); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EReference getSequencer_CurrentTime() { |
| return (EReference)sequencerEClass.getEStructuralFeatures().get(2); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EReference getSequencer_NextTime() { |
| return (EReference)sequencerEClass.getEStructuralFeatures().get(3); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EAttribute getSequencer_TimeDelta() { |
| return (EAttribute)sequencerEClass.getEStructuralFeatures().get(4); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EAttribute getSequencer_Duration() { |
| return (EAttribute)sequencerEClass.getEStructuralFeatures().get(5); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EAttribute getSequencer_TimeToStop() { |
| return (EAttribute)sequencerEClass.getEStructuralFeatures().get(6); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EAttribute getSequencer_WorkComplete() { |
| return (EAttribute)sequencerEClass.getEStructuralFeatures().get(7); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EAttribute getSequencer_WorkIncrement() { |
| return (EAttribute)sequencerEClass.getEStructuralFeatures().get(8); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EAttribute getSequencer_Cycle() { |
| return (EAttribute)sequencerEClass.getEStructuralFeatures().get(9); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EClass getSequentialSequencer() { |
| return sequentialSequencerEClass; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EAttribute getSequentialSequencer_TimeIncrement() { |
| return (EAttribute)sequentialSequencerEClass.getEStructuralFeatures().get(0); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public SequencerFactory getSequencerFactory() { |
| return (SequencerFactory)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 |
| realTimeSequencerEClass = createEClass(REAL_TIME_SEQUENCER); |
| |
| sequencerEClass = createEClass(SEQUENCER); |
| createEReference(sequencerEClass, SEQUENCER__START_TIME); |
| createEReference(sequencerEClass, SEQUENCER__END_TIME); |
| createEReference(sequencerEClass, SEQUENCER__CURRENT_TIME); |
| createEReference(sequencerEClass, SEQUENCER__NEXT_TIME); |
| createEAttribute(sequencerEClass, SEQUENCER__TIME_DELTA); |
| createEAttribute(sequencerEClass, SEQUENCER__DURATION); |
| createEAttribute(sequencerEClass, SEQUENCER__TIME_TO_STOP); |
| createEAttribute(sequencerEClass, SEQUENCER__WORK_COMPLETE); |
| createEAttribute(sequencerEClass, SEQUENCER__WORK_INCREMENT); |
| createEAttribute(sequencerEClass, SEQUENCER__CYCLE); |
| |
| sequentialSequencerEClass = createEClass(SEQUENTIAL_SEQUENCER); |
| createEAttribute(sequentialSequencerEClass, SEQUENTIAL_SEQUENCER__TIME_INCREMENT); |
| } |
| |
| /** |
| * <!-- 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 |
| CommonPackage theCommonPackage = (CommonPackage)EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI); |
| ModelPackage theModelPackage = (ModelPackage)EPackage.Registry.INSTANCE.getEPackage(ModelPackage.eNS_URI); |
| |
| // Create type parameters |
| |
| // Set bounds for type parameters |
| |
| // Add supertypes to classes |
| realTimeSequencerEClass.getESuperTypes().add(this.getSequentialSequencer()); |
| sequencerEClass.getESuperTypes().add(theCommonPackage.getIdentifiable()); |
| sequentialSequencerEClass.getESuperTypes().add(this.getSequencer()); |
| |
| // Initialize classes and features; add operations and parameters |
| initEClass(realTimeSequencerEClass, RealTimeSequencer.class, "RealTimeSequencer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ |
| |
| initEClass(sequencerEClass, Sequencer.class, "Sequencer", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ |
| initEReference(getSequencer_StartTime(), theModelPackage.getSTEMTime(), null, "startTime", null, 0, 1, Sequencer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ |
| initEReference(getSequencer_EndTime(), theModelPackage.getSTEMTime(), null, "endTime", null, 0, 1, Sequencer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ |
| initEReference(getSequencer_CurrentTime(), theModelPackage.getSTEMTime(), null, "currentTime", null, 0, 1, Sequencer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ |
| initEReference(getSequencer_NextTime(), theModelPackage.getSTEMTime(), null, "nextTime", null, 0, 1, Sequencer.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ |
| initEAttribute(getSequencer_TimeDelta(), ecorePackage.getELong(), "timeDelta", null, 0, 1, Sequencer.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ |
| initEAttribute(getSequencer_Duration(), ecorePackage.getELong(), "duration", "-1", 0, 1, Sequencer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$ |
| initEAttribute(getSequencer_TimeToStop(), ecorePackage.getEBoolean(), "timeToStop", null, 0, 1, Sequencer.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ |
| initEAttribute(getSequencer_WorkComplete(), ecorePackage.getEDouble(), "workComplete", null, 0, 1, Sequencer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ |
| initEAttribute(getSequencer_WorkIncrement(), ecorePackage.getEInt(), "workIncrement", null, 0, 1, Sequencer.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ |
| initEAttribute(getSequencer_Cycle(), ecorePackage.getEInt(), "cycle", "0", 0, 1, Sequencer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$ |
| |
| addEOperation(sequencerEClass, null, "reset", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ |
| |
| initEClass(sequentialSequencerEClass, SequentialSequencer.class, "SequentialSequencer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ |
| initEAttribute(getSequentialSequencer_TimeIncrement(), ecorePackage.getELong(), "timeIncrement", null, 0, 1, SequentialSequencer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ |
| |
| // Create resource |
| createResource(eNS_URI); |
| } |
| |
| } //SequencerPackageImpl |