blob: 4d89d63d62a58aae04340b247e17a4933cf0e77d [file] [log] [blame]
/**
* <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 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* 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