All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.omg.bpmn.bpmn2.impl.CatchEventImpl Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2012 - 2024 Data In Motion and others.
 * All rights reserved. 
 * 
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 * 
 * SPDX-License-Identifier: EPL-2.0
 * 
 * Contributors:
 *      Mark Hoffmann - initial API and implementation
 */
package org.omg.bpmn.bpmn2.impl;

import java.util.Collection;

import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;

import org.eclipse.emf.ecore.impl.ENotificationImpl;

import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.InternalEList;

import org.omg.bpmn.bpmn2.Bpmn2Package;
import org.omg.bpmn.bpmn2.CatchEvent;
import org.omg.bpmn.bpmn2.DataOutput;
import org.omg.bpmn.bpmn2.DataOutputAssociation;
import org.omg.bpmn.bpmn2.EventDefinition;
import org.omg.bpmn.bpmn2.OutputSet;

/**
 * 
 * An implementation of the model object 'Catch Event'.
 * 
 * 

* The following features are implemented: *

*
    *
  • {@link org.omg.bpmn.bpmn2.impl.CatchEventImpl#getDataOutputs Data Outputs}
  • *
  • {@link org.omg.bpmn.bpmn2.impl.CatchEventImpl#getDataOutputAssociation Data Output Association}
  • *
  • {@link org.omg.bpmn.bpmn2.impl.CatchEventImpl#getOutputSet Output Set}
  • *
  • {@link org.omg.bpmn.bpmn2.impl.CatchEventImpl#getEventDefinitions Event Definitions}
  • *
  • {@link org.omg.bpmn.bpmn2.impl.CatchEventImpl#getEventDefinitionRefs Event Definition Refs}
  • *
  • {@link org.omg.bpmn.bpmn2.impl.CatchEventImpl#isParallelMultiple Parallel Multiple}
  • *
* * @generated */ public abstract class CatchEventImpl extends EventImpl implements CatchEvent { /** * The cached value of the '{@link #getDataOutputs() Data Outputs}' containment reference list. * * * @see #getDataOutputs() * @generated * @ordered */ protected EList dataOutputs; /** * The cached value of the '{@link #getDataOutputAssociation() Data Output Association}' containment reference list. * * * @see #getDataOutputAssociation() * @generated * @ordered */ protected EList dataOutputAssociation; /** * The cached value of the '{@link #getOutputSet() Output Set}' containment reference. * * * @see #getOutputSet() * @generated * @ordered */ protected OutputSet outputSet; /** * The cached value of the '{@link #getEventDefinitions() Event Definitions}' containment reference list. * * * @see #getEventDefinitions() * @generated * @ordered */ protected EList eventDefinitions; /** * The cached value of the '{@link #getEventDefinitionRefs() Event Definition Refs}' reference list. * * * @see #getEventDefinitionRefs() * @generated * @ordered */ protected EList eventDefinitionRefs; /** * The default value of the '{@link #isParallelMultiple() Parallel Multiple}' attribute. * * * @see #isParallelMultiple() * @generated * @ordered */ protected static final boolean PARALLEL_MULTIPLE_EDEFAULT = false; /** * The cached value of the '{@link #isParallelMultiple() Parallel Multiple}' attribute. * * * @see #isParallelMultiple() * @generated * @ordered */ protected boolean parallelMultiple = PARALLEL_MULTIPLE_EDEFAULT; /** * * * @generated */ protected CatchEventImpl() { super(); } /** * * * @generated */ @Override protected EClass eStaticClass() { return Bpmn2Package.eINSTANCE.getCatchEvent(); } /** * * * @generated */ @Override public EList getDataOutputs() { if (dataOutputs == null) { dataOutputs = new EObjectContainmentEList(DataOutput.class, this, Bpmn2Package.CATCH_EVENT__DATA_OUTPUTS); } return dataOutputs; } /** * * * @generated */ @Override public EList getDataOutputAssociation() { if (dataOutputAssociation == null) { dataOutputAssociation = new EObjectContainmentEList(DataOutputAssociation.class, this, Bpmn2Package.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION); } return dataOutputAssociation; } /** * * * @generated */ @Override public OutputSet getOutputSet() { return outputSet; } /** * * * @generated */ public NotificationChain basicSetOutputSet(OutputSet newOutputSet, NotificationChain msgs) { OutputSet oldOutputSet = outputSet; outputSet = newOutputSet; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Bpmn2Package.CATCH_EVENT__OUTPUT_SET, oldOutputSet, newOutputSet); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * * * @generated */ @Override public void setOutputSet(OutputSet newOutputSet) { if (newOutputSet != outputSet) { NotificationChain msgs = null; if (outputSet != null) msgs = ((InternalEObject)outputSet).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Bpmn2Package.CATCH_EVENT__OUTPUT_SET, null, msgs); if (newOutputSet != null) msgs = ((InternalEObject)newOutputSet).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Bpmn2Package.CATCH_EVENT__OUTPUT_SET, null, msgs); msgs = basicSetOutputSet(newOutputSet, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Bpmn2Package.CATCH_EVENT__OUTPUT_SET, newOutputSet, newOutputSet)); } /** * * * @generated */ @Override public EList getEventDefinitions() { if (eventDefinitions == null) { eventDefinitions = new EObjectContainmentEList(EventDefinition.class, this, Bpmn2Package.CATCH_EVENT__EVENT_DEFINITIONS); } return eventDefinitions; } /** * * * @generated */ @Override public EList getEventDefinitionRefs() { if (eventDefinitionRefs == null) { eventDefinitionRefs = new EObjectResolvingEList(EventDefinition.class, this, Bpmn2Package.CATCH_EVENT__EVENT_DEFINITION_REFS); } return eventDefinitionRefs; } /** * * * @generated */ @Override public boolean isParallelMultiple() { return parallelMultiple; } /** * * * @generated */ @Override public void setParallelMultiple(boolean newParallelMultiple) { boolean oldParallelMultiple = parallelMultiple; parallelMultiple = newParallelMultiple; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Bpmn2Package.CATCH_EVENT__PARALLEL_MULTIPLE, oldParallelMultiple, parallelMultiple)); } /** * * * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case Bpmn2Package.CATCH_EVENT__DATA_OUTPUTS: return ((InternalEList)getDataOutputs()).basicRemove(otherEnd, msgs); case Bpmn2Package.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION: return ((InternalEList)getDataOutputAssociation()).basicRemove(otherEnd, msgs); case Bpmn2Package.CATCH_EVENT__OUTPUT_SET: return basicSetOutputSet(null, msgs); case Bpmn2Package.CATCH_EVENT__EVENT_DEFINITIONS: return ((InternalEList)getEventDefinitions()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * * * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case Bpmn2Package.CATCH_EVENT__DATA_OUTPUTS: return getDataOutputs(); case Bpmn2Package.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION: return getDataOutputAssociation(); case Bpmn2Package.CATCH_EVENT__OUTPUT_SET: return getOutputSet(); case Bpmn2Package.CATCH_EVENT__EVENT_DEFINITIONS: return getEventDefinitions(); case Bpmn2Package.CATCH_EVENT__EVENT_DEFINITION_REFS: return getEventDefinitionRefs(); case Bpmn2Package.CATCH_EVENT__PARALLEL_MULTIPLE: return isParallelMultiple(); } return super.eGet(featureID, resolve, coreType); } /** * * * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case Bpmn2Package.CATCH_EVENT__DATA_OUTPUTS: getDataOutputs().clear(); getDataOutputs().addAll((Collection)newValue); return; case Bpmn2Package.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION: getDataOutputAssociation().clear(); getDataOutputAssociation().addAll((Collection)newValue); return; case Bpmn2Package.CATCH_EVENT__OUTPUT_SET: setOutputSet((OutputSet)newValue); return; case Bpmn2Package.CATCH_EVENT__EVENT_DEFINITIONS: getEventDefinitions().clear(); getEventDefinitions().addAll((Collection)newValue); return; case Bpmn2Package.CATCH_EVENT__EVENT_DEFINITION_REFS: getEventDefinitionRefs().clear(); getEventDefinitionRefs().addAll((Collection)newValue); return; case Bpmn2Package.CATCH_EVENT__PARALLEL_MULTIPLE: setParallelMultiple((Boolean)newValue); return; } super.eSet(featureID, newValue); } /** * * * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case Bpmn2Package.CATCH_EVENT__DATA_OUTPUTS: getDataOutputs().clear(); return; case Bpmn2Package.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION: getDataOutputAssociation().clear(); return; case Bpmn2Package.CATCH_EVENT__OUTPUT_SET: setOutputSet((OutputSet)null); return; case Bpmn2Package.CATCH_EVENT__EVENT_DEFINITIONS: getEventDefinitions().clear(); return; case Bpmn2Package.CATCH_EVENT__EVENT_DEFINITION_REFS: getEventDefinitionRefs().clear(); return; case Bpmn2Package.CATCH_EVENT__PARALLEL_MULTIPLE: setParallelMultiple(PARALLEL_MULTIPLE_EDEFAULT); return; } super.eUnset(featureID); } /** * * * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case Bpmn2Package.CATCH_EVENT__DATA_OUTPUTS: return dataOutputs != null && !dataOutputs.isEmpty(); case Bpmn2Package.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION: return dataOutputAssociation != null && !dataOutputAssociation.isEmpty(); case Bpmn2Package.CATCH_EVENT__OUTPUT_SET: return outputSet != null; case Bpmn2Package.CATCH_EVENT__EVENT_DEFINITIONS: return eventDefinitions != null && !eventDefinitions.isEmpty(); case Bpmn2Package.CATCH_EVENT__EVENT_DEFINITION_REFS: return eventDefinitionRefs != null && !eventDefinitionRefs.isEmpty(); case Bpmn2Package.CATCH_EVENT__PARALLEL_MULTIPLE: return parallelMultiple != PARALLEL_MULTIPLE_EDEFAULT; } return super.eIsSet(featureID); } /** * * * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuilder result = new StringBuilder(super.toString()); result.append(" (parallelMultiple: "); result.append(parallelMultiple); result.append(')'); return result.toString(); } } //CatchEventImpl




© 2015 - 2024 Weber Informatics LLC | Privacy Policy