/** * <copyright> * Copyright (c) 2005 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 * </copyright> * * $Id: CorrelationImpl.java,v 1.12 2011/03/30 18:54:24 rbrodt Exp $ */ package org.eclipse.bpel.model.impl; import org.eclipse.bpel.model.BPELPackage; import org.eclipse.bpel.model.Correlation; import org.eclipse.bpel.model.CorrelationPattern; import org.eclipse.bpel.model.CorrelationSet; import org.eclipse.bpel.model.util.BPELConstants; import org.eclipse.bpel.model.util.ReconciliationHelper; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Correlation</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link org.eclipse.bpel.model.impl.CorrelationImpl#getInitiate <em>Initiate</em>}</li> * <li>{@link org.eclipse.bpel.model.impl.CorrelationImpl#getPattern <em>Pattern</em>}</li> * <li>{@link org.eclipse.bpel.model.impl.CorrelationImpl#getSet <em>Set</em>}</li> * </ul> * </p> * * @generated */ public class CorrelationImpl extends BPELExtensibleElementImpl implements Correlation { /** * The default value of the '{@link #getInitiate() <em>Initiate</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getInitiate() * @generated * @ordered */ protected static final String INITIATE_EDEFAULT = "no"; /** * The cached value of the '{@link #getInitiate() <em>Initiate</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getInitiate() * @generated * @ordered */ protected String initiate = INITIATE_EDEFAULT; /** * This is true if the Initiate attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean initiateESet; /** * The default value of the '{@link #getPattern() <em>Pattern</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getPattern() * @generated * @ordered */ protected static final CorrelationPattern PATTERN_EDEFAULT = CorrelationPattern.REQUEST_LITERAL; /** * The cached value of the '{@link #getPattern() <em>Pattern</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getPattern() * @generated * @ordered */ protected CorrelationPattern pattern = PATTERN_EDEFAULT; /** * This is true if the Pattern attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean patternESet; /** * The cached value of the '{@link #getSet() <em>Set</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getSet() * @generated * @ordered */ protected CorrelationSet set; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected CorrelationImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return BPELPackage.Literals.CORRELATION; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getInitiate() { return initiate; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ public void setInitiate(String newInitiate) { String oldInitiate = initiate; if (!isReconciling) { ReconciliationHelper.replaceAttribute(this, BPELConstants.AT_INITIATE, newInitiate); } initiate = newInitiate; boolean oldInitiateESet = initiateESet; initiateESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BPELPackage.CORRELATION__INITIATE, oldInitiate, initiate, !oldInitiateESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ public void unsetInitiate() { String oldInitiate = initiate; if (!isReconciling) { ReconciliationHelper.replaceAttribute(this, BPELConstants.AT_INITIATE, (String) null); } boolean oldInitiateESet = initiateESet; initiate = INITIATE_EDEFAULT; initiateESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, BPELPackage.CORRELATION__INITIATE, oldInitiate, INITIATE_EDEFAULT, oldInitiateESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetInitiate() { return initiateESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public CorrelationPattern getPattern() { return pattern; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ public void setPattern(CorrelationPattern newPattern) { CorrelationPattern oldPattern = pattern; if (!isReconciling) { ReconciliationHelper.replaceAttribute(this, BPELConstants.AT_PATTERN, newPattern == null ? PATTERN_EDEFAULT.getName() : newPattern.getName()); } pattern = newPattern == null ? PATTERN_EDEFAULT : newPattern; boolean oldPatternESet = patternESet; patternESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BPELPackage.CORRELATION__PATTERN, oldPattern, pattern, !oldPatternESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ public void unsetPattern() { CorrelationPattern oldPattern = pattern; if (!isReconciling) { ReconciliationHelper.replaceAttribute(this, BPELConstants.AT_PATTERN, PATTERN_EDEFAULT.getName()); } boolean oldPatternESet = patternESet; pattern = PATTERN_EDEFAULT; patternESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, BPELPackage.CORRELATION__PATTERN, oldPattern, PATTERN_EDEFAULT, oldPatternESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetPattern() { return patternESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public CorrelationSet getSet() { if (set != null && set.eIsProxy()) { InternalEObject oldSet = (InternalEObject) set; set = (CorrelationSet) eResolveProxy(oldSet); if (set != oldSet) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPELPackage.CORRELATION__SET, oldSet, set)); } } return set; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public CorrelationSet basicGetSet() { return set; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ public void setSet(CorrelationSet newSet) { CorrelationSet oldSet = set; if (!isReconciling) { ReconciliationHelper.replaceAttribute(this, BPELConstants.AT_SET, newSet == null ? null : newSet.getName()); } set = newSet; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BPELPackage.CORRELATION__SET, oldSet, set)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case BPELPackage.CORRELATION__INITIATE: return getInitiate(); case BPELPackage.CORRELATION__PATTERN: return getPattern(); case BPELPackage.CORRELATION__SET: if (resolve) return getSet(); return basicGetSet(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case BPELPackage.CORRELATION__INITIATE: setInitiate((String) newValue); return; case BPELPackage.CORRELATION__PATTERN: setPattern((CorrelationPattern) newValue); return; case BPELPackage.CORRELATION__SET: setSet((CorrelationSet) newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case BPELPackage.CORRELATION__INITIATE: unsetInitiate(); return; case BPELPackage.CORRELATION__PATTERN: unsetPattern(); return; case BPELPackage.CORRELATION__SET: setSet((CorrelationSet) null); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case BPELPackage.CORRELATION__INITIATE: return isSetInitiate(); case BPELPackage.CORRELATION__PATTERN: return isSetPattern(); case BPELPackage.CORRELATION__SET: return set != null; } return super.eIsSet(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (initiate: "); //$NON-NLS-1$ if (initiateESet) result.append(initiate); else result.append("<unset>"); //$NON-NLS-1$ result.append(", pattern: "); //$NON-NLS-1$ if (patternESet) result.append(pattern); else result.append("<unset>"); //$NON-NLS-1$ result.append(')'); return result.toString(); } } //CorrelationImpl