001 /**
002 * <copyright>
003 * </copyright>
004 *
005 * $Id$
006 */
007 package com.hammurapi.review.impl;
008
009 import com.hammurapi.config.Named;
010 import com.hammurapi.config.Factory;
011
012 import com.hammurapi.review.ArtifactType;
013 import com.hammurapi.review.ReviewPackage;
014
015 import java.util.Collection;
016
017 import org.eclipse.emf.common.util.EList;
018
019 import org.eclipse.emf.ecore.EClass;
020
021 import org.eclipse.emf.ecore.util.EObjectResolvingEList;
022
023 /**
024 * <!-- begin-user-doc -->
025 * An implementation of the model object '<em><b>Artifact Type</b></em>'.
026 * <!-- end-user-doc -->
027 * <p>
028 * The following features are implemented:
029 * <ul>
030 * <li>{@link com.hammurapi.review.impl.ArtifactTypeImpl#getLanguageModules <em>Language Modules</em>}</li>
031 * </ul>
032 * </p>
033 *
034 * @generated
035 */
036 public class ArtifactTypeImpl extends InspectorCategoryImpl implements ArtifactType {
037 /**
038 * The cached value of the '{@link #getLanguageModules() <em>Language Modules</em>}' reference list.
039 * <!-- begin-user-doc -->
040 * <!-- end-user-doc -->
041 * @see #getLanguageModules()
042 * @generated
043 * @ordered
044 */
045 protected EList<Named> languageModules;
046
047 /**
048 * <!-- begin-user-doc -->
049 * <!-- end-user-doc -->
050 * @generated
051 */
052 protected ArtifactTypeImpl() {
053 super();
054 }
055
056 /**
057 * <!-- begin-user-doc -->
058 * <!-- end-user-doc -->
059 * @generated
060 */
061 @Override
062 protected EClass eStaticClass() {
063 return ReviewPackage.Literals.ARTIFACT_TYPE;
064 }
065
066 /**
067 * <!-- begin-user-doc -->
068 * <!-- end-user-doc -->
069 * @generated
070 */
071 public EList<Named> getLanguageModules() {
072 if (languageModules == null) {
073 languageModules = new EObjectResolvingEList<Named>(Named.class, this, ReviewPackage.ARTIFACT_TYPE__LANGUAGE_MODULES);
074 }
075 return languageModules;
076 }
077
078 /**
079 * <!-- begin-user-doc -->
080 * <!-- end-user-doc -->
081 * @generated
082 */
083 @Override
084 public Object eGet(int featureID, boolean resolve, boolean coreType) {
085 switch (featureID) {
086 case ReviewPackage.ARTIFACT_TYPE__LANGUAGE_MODULES:
087 return getLanguageModules();
088 }
089 return super.eGet(featureID, resolve, coreType);
090 }
091
092 /**
093 * <!-- begin-user-doc -->
094 * <!-- end-user-doc -->
095 * @generated
096 */
097 @SuppressWarnings("unchecked")
098 @Override
099 public void eSet(int featureID, Object newValue) {
100 switch (featureID) {
101 case ReviewPackage.ARTIFACT_TYPE__LANGUAGE_MODULES:
102 getLanguageModules().clear();
103 getLanguageModules().addAll((Collection<? extends Named>)newValue);
104 return;
105 }
106 super.eSet(featureID, newValue);
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 @Override
115 public void eUnset(int featureID) {
116 switch (featureID) {
117 case ReviewPackage.ARTIFACT_TYPE__LANGUAGE_MODULES:
118 getLanguageModules().clear();
119 return;
120 }
121 super.eUnset(featureID);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public boolean eIsSet(int featureID) {
131 switch (featureID) {
132 case ReviewPackage.ARTIFACT_TYPE__LANGUAGE_MODULES:
133 return languageModules != null && !languageModules.isEmpty();
134 }
135 return super.eIsSet(featureID);
136 }
137
138 } //ArtifactTypeImpl