001 /**
002 * <copyright>
003 * </copyright>
004 *
005 * $Id$
006 */
007 package com.hammurapi.review.impl;
008
009 import com.hammurapi.party.impl.OrganizationImpl;
010
011 import com.hammurapi.review.GovernanceDomain;
012 import com.hammurapi.review.InspectorCategory;
013 import com.hammurapi.review.ReviewPackage;
014 import com.hammurapi.review.Tool;
015
016 import java.util.Collection;
017
018 import org.eclipse.emf.common.notify.NotificationChain;
019
020 import org.eclipse.emf.common.util.EList;
021
022 import org.eclipse.emf.ecore.EClass;
023 import org.eclipse.emf.ecore.InternalEObject;
024
025 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
026 import org.eclipse.emf.ecore.util.InternalEList;
027
028 /**
029 * <!-- begin-user-doc -->
030 * An implementation of the model object '<em><b>Governance Domain</b></em>'.
031 * <!-- end-user-doc -->
032 * <p>
033 * The following features are implemented:
034 * <ul>
035 * <li>{@link com.hammurapi.review.impl.GovernanceDomainImpl#getCategories <em>Categories</em>}</li>
036 * <li>{@link com.hammurapi.review.impl.GovernanceDomainImpl#getTools <em>Tools</em>}</li>
037 * </ul>
038 * </p>
039 *
040 * @generated
041 */
042 public class GovernanceDomainImpl extends OrganizationImpl implements GovernanceDomain {
043 /**
044 * The cached value of the '{@link #getCategories() <em>Categories</em>}' containment reference list.
045 * <!-- begin-user-doc -->
046 * <!-- end-user-doc -->
047 * @see #getCategories()
048 * @generated
049 * @ordered
050 */
051 protected EList<InspectorCategory> categories;
052
053 /**
054 * The cached value of the '{@link #getTools() <em>Tools</em>}' containment reference list.
055 * <!-- begin-user-doc -->
056 * <!-- end-user-doc -->
057 * @see #getTools()
058 * @generated
059 * @ordered
060 */
061 protected EList<Tool> tools;
062
063 /**
064 * <!-- begin-user-doc -->
065 * <!-- end-user-doc -->
066 * @generated
067 */
068 protected GovernanceDomainImpl() {
069 super();
070 }
071
072 /**
073 * <!-- begin-user-doc -->
074 * <!-- end-user-doc -->
075 * @generated
076 */
077 @Override
078 protected EClass eStaticClass() {
079 return ReviewPackage.Literals.GOVERNANCE_DOMAIN;
080 }
081
082 /**
083 * <!-- begin-user-doc -->
084 * <!-- end-user-doc -->
085 * @generated
086 */
087 public EList<InspectorCategory> getCategories() {
088 if (categories == null) {
089 categories = new EObjectContainmentEList<InspectorCategory>(InspectorCategory.class, this, ReviewPackage.GOVERNANCE_DOMAIN__CATEGORIES);
090 }
091 return categories;
092 }
093
094 /**
095 * <!-- begin-user-doc -->
096 * <!-- end-user-doc -->
097 * @generated
098 */
099 public EList<Tool> getTools() {
100 if (tools == null) {
101 tools = new EObjectContainmentEList<Tool>(Tool.class, this, ReviewPackage.GOVERNANCE_DOMAIN__TOOLS);
102 }
103 return tools;
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
113 switch (featureID) {
114 case ReviewPackage.GOVERNANCE_DOMAIN__CATEGORIES:
115 return ((InternalEList<?>)getCategories()).basicRemove(otherEnd, msgs);
116 case ReviewPackage.GOVERNANCE_DOMAIN__TOOLS:
117 return ((InternalEList<?>)getTools()).basicRemove(otherEnd, msgs);
118 }
119 return super.eInverseRemove(otherEnd, featureID, msgs);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public Object eGet(int featureID, boolean resolve, boolean coreType) {
129 switch (featureID) {
130 case ReviewPackage.GOVERNANCE_DOMAIN__CATEGORIES:
131 return getCategories();
132 case ReviewPackage.GOVERNANCE_DOMAIN__TOOLS:
133 return getTools();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @SuppressWarnings("unchecked")
144 @Override
145 public void eSet(int featureID, Object newValue) {
146 switch (featureID) {
147 case ReviewPackage.GOVERNANCE_DOMAIN__CATEGORIES:
148 getCategories().clear();
149 getCategories().addAll((Collection<? extends InspectorCategory>)newValue);
150 return;
151 case ReviewPackage.GOVERNANCE_DOMAIN__TOOLS:
152 getTools().clear();
153 getTools().addAll((Collection<? extends Tool>)newValue);
154 return;
155 }
156 super.eSet(featureID, newValue);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public void eUnset(int featureID) {
166 switch (featureID) {
167 case ReviewPackage.GOVERNANCE_DOMAIN__CATEGORIES:
168 getCategories().clear();
169 return;
170 case ReviewPackage.GOVERNANCE_DOMAIN__TOOLS:
171 getTools().clear();
172 return;
173 }
174 super.eUnset(featureID);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public boolean eIsSet(int featureID) {
184 switch (featureID) {
185 case ReviewPackage.GOVERNANCE_DOMAIN__CATEGORIES:
186 return categories != null && !categories.isEmpty();
187 case ReviewPackage.GOVERNANCE_DOMAIN__TOOLS:
188 return tools != null && !tools.isEmpty();
189 }
190 return super.eIsSet(featureID);
191 }
192
193 } //GovernanceDomainImpl