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