| /** |
| * <copyright> |
| * </copyright> |
| * |
| * $Id: OrderedTupleTypeImpl.java,v 1.2 2009/01/25 23:11:18 radvorak Exp $ |
| */ |
| package org.eclipse.m2m.qvt.oml.emof.ImperativeOCL.impl; |
| |
| import java.util.Collection; |
| |
| import org.eclipse.emf.common.util.EList; |
| import org.eclipse.emf.ecore.EClass; |
| import org.eclipse.emf.ecore.util.EObjectResolvingEList; |
| import org.eclipse.m2m.qvt.oml.emof.ImperativeOCL.ImperativeOCLPackage; |
| import org.eclipse.m2m.qvt.oml.emof.ImperativeOCL.OrderedTupleType; |
| import org.eclipse.qvt.declarative.emof.EMOF.Type; |
| import org.eclipse.qvt.declarative.emof.EMOF.impl.ClassImpl; |
| |
| |
| /** |
| * <!-- begin-user-doc --> |
| * An implementation of the model object '<em><b>Ordered Tuple Type</b></em>'. |
| * <!-- end-user-doc --> |
| * <p> |
| * The following features are implemented: |
| * <ul> |
| * <li>{@link org.eclipse.m2m.qvt.oml.emof.ImperativeOCL.impl.OrderedTupleTypeImpl#getElementType <em>Element Type</em>}</li> |
| * </ul> |
| * </p> |
| * |
| * @generated |
| */ |
| public class OrderedTupleTypeImpl extends ClassImpl implements OrderedTupleType { |
| /** |
| * The cached value of the '{@link #getElementType() <em>Element Type</em>}' reference list. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getElementType() |
| * @generated |
| * @ordered |
| */ |
| protected EList<Type> elementType; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected OrderedTupleTypeImpl() { |
| super(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| protected EClass eStaticClass() { |
| return ImperativeOCLPackage.Literals.ORDERED_TUPLE_TYPE; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EList<Type> getElementType() { |
| if (elementType == null) { |
| elementType = new EObjectResolvingEList<Type>(Type.class, this, ImperativeOCLPackage.ORDERED_TUPLE_TYPE__ELEMENT_TYPE); |
| } |
| return elementType; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public Object eGet(int featureID, boolean resolve, boolean coreType) { |
| switch (featureID) { |
| case ImperativeOCLPackage.ORDERED_TUPLE_TYPE__ELEMENT_TYPE: |
| return getElementType(); |
| } |
| return super.eGet(featureID, resolve, coreType); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @SuppressWarnings("unchecked") |
| @Override |
| public void eSet(int featureID, Object newValue) { |
| switch (featureID) { |
| case ImperativeOCLPackage.ORDERED_TUPLE_TYPE__ELEMENT_TYPE: |
| getElementType().clear(); |
| getElementType().addAll((Collection<? extends Type>)newValue); |
| return; |
| } |
| super.eSet(featureID, newValue); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public void eUnset(int featureID) { |
| switch (featureID) { |
| case ImperativeOCLPackage.ORDERED_TUPLE_TYPE__ELEMENT_TYPE: |
| getElementType().clear(); |
| return; |
| } |
| super.eUnset(featureID); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public boolean eIsSet(int featureID) { |
| switch (featureID) { |
| case ImperativeOCLPackage.ORDERED_TUPLE_TYPE__ELEMENT_TYPE: |
| return elementType != null && !elementType.isEmpty(); |
| } |
| return super.eIsSet(featureID); |
| } |
| |
| } //OrderedTupleTypeImpl |