org.omg.bpmn.bpmn2.impl.ExtensionAttributeValueImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.omg.bpmn.model Show documentation
Show all versions of org.omg.bpmn.model Show documentation
Ecore and generated code for org.omg.bpmn2
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 org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.BasicFeatureMap;
import org.eclipse.emf.ecore.util.FeatureMap;
import org.eclipse.emf.ecore.util.InternalEList;
import org.omg.bpmn.bpmn2.Bpmn2Package;
import org.omg.bpmn.bpmn2.ExtensionAttributeDefinition;
import org.omg.bpmn.bpmn2.ExtensionAttributeValue;
/**
*
* An implementation of the model object 'Extension Attribute Value'.
*
*
* The following features are implemented:
*
*
* - {@link org.omg.bpmn.bpmn2.impl.ExtensionAttributeValueImpl#getValueRef Value Ref}
* - {@link org.omg.bpmn.bpmn2.impl.ExtensionAttributeValueImpl#getValue Value}
* - {@link org.omg.bpmn.bpmn2.impl.ExtensionAttributeValueImpl#getExtensionAttributeDefinition Extension Attribute Definition}
*
*
* @generated
*/
public class ExtensionAttributeValueImpl extends MinimalEObjectImpl.Container implements ExtensionAttributeValue {
/**
* The cached value of the '{@link #getValueRef() Value Ref}' reference.
*
*
* @see #getValueRef()
* @generated
* @ordered
*/
protected EObject valueRef;
/**
* The cached value of the '{@link #getValue() Value}' attribute list.
*
*
* @see #getValue()
* @generated
* @ordered
*/
protected FeatureMap value;
/**
* The cached value of the '{@link #getExtensionAttributeDefinition() Extension Attribute Definition}' reference.
*
*
* @see #getExtensionAttributeDefinition()
* @generated
* @ordered
*/
protected ExtensionAttributeDefinition extensionAttributeDefinition;
/**
*
*
* @generated
*/
protected ExtensionAttributeValueImpl() {
super();
}
/**
*
*
* @generated
*/
@Override
protected EClass eStaticClass() {
return Bpmn2Package.eINSTANCE.getExtensionAttributeValue();
}
/**
*
*
* @generated
*/
@Override
public EObject getValueRef() {
if (valueRef != null && valueRef.eIsProxy()) {
InternalEObject oldValueRef = (InternalEObject)valueRef;
valueRef = eResolveProxy(oldValueRef);
if (valueRef != oldValueRef) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF, oldValueRef, valueRef));
}
}
return valueRef;
}
/**
*
*
* @generated
*/
public EObject basicGetValueRef() {
return valueRef;
}
/**
*
*
* @generated
*/
@Override
public void setValueRef(EObject newValueRef) {
EObject oldValueRef = valueRef;
valueRef = newValueRef;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF, oldValueRef, valueRef));
}
/**
*
*
* @generated
*/
@Override
public FeatureMap getValue() {
if (value == null) {
value = new BasicFeatureMap(this, Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE);
}
return value;
}
/**
*
*
* @generated
*/
@Override
public ExtensionAttributeDefinition getExtensionAttributeDefinition() {
if (extensionAttributeDefinition != null && extensionAttributeDefinition.eIsProxy()) {
InternalEObject oldExtensionAttributeDefinition = (InternalEObject)extensionAttributeDefinition;
extensionAttributeDefinition = (ExtensionAttributeDefinition)eResolveProxy(oldExtensionAttributeDefinition);
if (extensionAttributeDefinition != oldExtensionAttributeDefinition) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION, oldExtensionAttributeDefinition, extensionAttributeDefinition));
}
}
return extensionAttributeDefinition;
}
/**
*
*
* @generated
*/
public ExtensionAttributeDefinition basicGetExtensionAttributeDefinition() {
return extensionAttributeDefinition;
}
/**
*
*
* @generated
*/
@Override
public void setExtensionAttributeDefinition(ExtensionAttributeDefinition newExtensionAttributeDefinition) {
ExtensionAttributeDefinition oldExtensionAttributeDefinition = extensionAttributeDefinition;
extensionAttributeDefinition = newExtensionAttributeDefinition;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION, oldExtensionAttributeDefinition, extensionAttributeDefinition));
}
/**
*
*
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE:
return ((InternalEList>)getValue()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
*
*
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF:
if (resolve) return getValueRef();
return basicGetValueRef();
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE:
if (coreType) return getValue();
return ((FeatureMap.Internal)getValue()).getWrapper();
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION:
if (resolve) return getExtensionAttributeDefinition();
return basicGetExtensionAttributeDefinition();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
*
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF:
setValueRef((EObject)newValue);
return;
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE:
((FeatureMap.Internal)getValue()).set(newValue);
return;
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION:
setExtensionAttributeDefinition((ExtensionAttributeDefinition)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
*
*
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF:
setValueRef((EObject)null);
return;
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE:
getValue().clear();
return;
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION:
setExtensionAttributeDefinition((ExtensionAttributeDefinition)null);
return;
}
super.eUnset(featureID);
}
/**
*
*
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF:
return valueRef != null;
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__VALUE:
return value != null && !value.isEmpty();
case Bpmn2Package.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION:
return extensionAttributeDefinition != null;
}
return super.eIsSet(featureID);
}
/**
*
*
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (value: ");
result.append(value);
result.append(')');
return result.toString();
}
} //ExtensionAttributeValueImpl