001/** 002 */ 003package org.nasdanika.models.gitlab.impl; 004 005import org.eclipse.emf.common.notify.NotificationChain; 006 007import org.eclipse.emf.ecore.EClass; 008import org.eclipse.emf.ecore.InternalEObject; 009 010import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 011 012import org.nasdanika.models.gitlab.AccessLevel; 013import org.nasdanika.models.gitlab.GitLabPackage; 014import org.nasdanika.models.gitlab.Group; 015import org.nasdanika.models.gitlab.ProjectSharedGroup; 016 017/** 018 * <!-- begin-user-doc --> 019 * An implementation of the model object '<em><b>Project Shared Group</b></em>'. 020 * <!-- end-user-doc --> 021 * <p> 022 * The following features are implemented: 023 * </p> 024 * <ul> 025 * <li>{@link org.nasdanika.models.gitlab.impl.ProjectSharedGroupImpl#getId <em>Id</em>}</li> 026 * <li>{@link org.nasdanika.models.gitlab.impl.ProjectSharedGroupImpl#getName <em>Name</em>}</li> 027 * <li>{@link org.nasdanika.models.gitlab.impl.ProjectSharedGroupImpl#getFullPath <em>Full Path</em>}</li> 028 * <li>{@link org.nasdanika.models.gitlab.impl.ProjectSharedGroupImpl#getAccessLevel <em>Access Level</em>}</li> 029 * <li>{@link org.nasdanika.models.gitlab.impl.ProjectSharedGroupImpl#getGroup <em>Group</em>}</li> 030 * </ul> 031 * 032 * @generated 033 */ 034public class ProjectSharedGroupImpl extends MinimalEObjectImpl.Container implements ProjectSharedGroup { 035 /** 036 * The default value of the '{@link #getId() <em>Id</em>}' attribute. 037 * <!-- begin-user-doc --> 038 * <!-- end-user-doc --> 039 * @see #getId() 040 * @generated 041 * @ordered 042 */ 043 protected static final Long ID_EDEFAULT = null; 044 045 /** 046 * The default value of the '{@link #getName() <em>Name</em>}' attribute. 047 * <!-- begin-user-doc --> 048 * <!-- end-user-doc --> 049 * @see #getName() 050 * @generated 051 * @ordered 052 */ 053 protected static final String NAME_EDEFAULT = null; 054 055 /** 056 * The default value of the '{@link #getFullPath() <em>Full Path</em>}' attribute. 057 * <!-- begin-user-doc --> 058 * <!-- end-user-doc --> 059 * @see #getFullPath() 060 * @generated 061 * @ordered 062 */ 063 protected static final String FULL_PATH_EDEFAULT = null; 064 065 /** 066 * The default value of the '{@link #getAccessLevel() <em>Access Level</em>}' attribute. 067 * <!-- begin-user-doc --> 068 * <!-- end-user-doc --> 069 * @see #getAccessLevel() 070 * @generated 071 * @ordered 072 */ 073 protected static final AccessLevel ACCESS_LEVEL_EDEFAULT = AccessLevel.INVALID; 074 075 /** 076 * <!-- begin-user-doc --> 077 * <!-- end-user-doc --> 078 * @generated 079 */ 080 protected ProjectSharedGroupImpl() { 081 super(); 082 } 083 084 /** 085 * <!-- begin-user-doc --> 086 * <!-- end-user-doc --> 087 * @generated 088 */ 089 @Override 090 protected EClass eStaticClass() { 091 return GitLabPackage.Literals.PROJECT_SHARED_GROUP; 092 } 093 094 /** 095 * <!-- begin-user-doc --> 096 * <!-- end-user-doc --> 097 * @generated 098 */ 099 @Override 100 protected int eStaticFeatureCount() { 101 return 0; 102 } 103 104 /** 105 * <!-- begin-user-doc --> 106 * <!-- end-user-doc --> 107 * @generated 108 */ 109 @Override 110 public Long getId() { 111 return (Long)eDynamicGet(GitLabPackage.PROJECT_SHARED_GROUP__ID, GitLabPackage.Literals.PROJECT_SHARED_GROUP__ID, true, true); 112 } 113 114 /** 115 * <!-- begin-user-doc --> 116 * <!-- end-user-doc --> 117 * @generated 118 */ 119 @Override 120 public void setId(Long newId) { 121 eDynamicSet(GitLabPackage.PROJECT_SHARED_GROUP__ID, GitLabPackage.Literals.PROJECT_SHARED_GROUP__ID, newId); 122 } 123 124 /** 125 * <!-- begin-user-doc --> 126 * <!-- end-user-doc --> 127 * @generated 128 */ 129 @Override 130 public String getName() { 131 return (String)eDynamicGet(GitLabPackage.PROJECT_SHARED_GROUP__NAME, GitLabPackage.Literals.PROJECT_SHARED_GROUP__NAME, true, true); 132 } 133 134 /** 135 * <!-- begin-user-doc --> 136 * <!-- end-user-doc --> 137 * @generated 138 */ 139 @Override 140 public void setName(String newName) { 141 eDynamicSet(GitLabPackage.PROJECT_SHARED_GROUP__NAME, GitLabPackage.Literals.PROJECT_SHARED_GROUP__NAME, newName); 142 } 143 144 /** 145 * <!-- begin-user-doc --> 146 * <!-- end-user-doc --> 147 * @generated 148 */ 149 @Override 150 public String getFullPath() { 151 return (String)eDynamicGet(GitLabPackage.PROJECT_SHARED_GROUP__FULL_PATH, GitLabPackage.Literals.PROJECT_SHARED_GROUP__FULL_PATH, true, true); 152 } 153 154 /** 155 * <!-- begin-user-doc --> 156 * <!-- end-user-doc --> 157 * @generated 158 */ 159 @Override 160 public void setFullPath(String newFullPath) { 161 eDynamicSet(GitLabPackage.PROJECT_SHARED_GROUP__FULL_PATH, GitLabPackage.Literals.PROJECT_SHARED_GROUP__FULL_PATH, newFullPath); 162 } 163 164 /** 165 * <!-- begin-user-doc --> 166 * <!-- end-user-doc --> 167 * @generated 168 */ 169 @Override 170 public AccessLevel getAccessLevel() { 171 return (AccessLevel)eDynamicGet(GitLabPackage.PROJECT_SHARED_GROUP__ACCESS_LEVEL, GitLabPackage.Literals.PROJECT_SHARED_GROUP__ACCESS_LEVEL, true, true); 172 } 173 174 /** 175 * <!-- begin-user-doc --> 176 * <!-- end-user-doc --> 177 * @generated 178 */ 179 @Override 180 public void setAccessLevel(AccessLevel newAccessLevel) { 181 eDynamicSet(GitLabPackage.PROJECT_SHARED_GROUP__ACCESS_LEVEL, GitLabPackage.Literals.PROJECT_SHARED_GROUP__ACCESS_LEVEL, newAccessLevel); 182 } 183 184 /** 185 * <!-- begin-user-doc --> 186 * <!-- end-user-doc --> 187 * @generated 188 */ 189 @Override 190 public Group getGroup() { 191 return (Group)eDynamicGet(GitLabPackage.PROJECT_SHARED_GROUP__GROUP, GitLabPackage.Literals.PROJECT_SHARED_GROUP__GROUP, true, true); 192 } 193 194 /** 195 * <!-- begin-user-doc --> 196 * <!-- end-user-doc --> 197 * @generated 198 */ 199 public Group basicGetGroup() { 200 return (Group)eDynamicGet(GitLabPackage.PROJECT_SHARED_GROUP__GROUP, GitLabPackage.Literals.PROJECT_SHARED_GROUP__GROUP, false, true); 201 } 202 203 /** 204 * <!-- begin-user-doc --> 205 * <!-- end-user-doc --> 206 * @generated 207 */ 208 public NotificationChain basicSetGroup(Group newGroup, NotificationChain msgs) { 209 msgs = eDynamicInverseAdd((InternalEObject)newGroup, GitLabPackage.PROJECT_SHARED_GROUP__GROUP, msgs); 210 return msgs; 211 } 212 213 /** 214 * <!-- begin-user-doc --> 215 * <!-- end-user-doc --> 216 * @generated 217 */ 218 @Override 219 public void setGroup(Group newGroup) { 220 eDynamicSet(GitLabPackage.PROJECT_SHARED_GROUP__GROUP, GitLabPackage.Literals.PROJECT_SHARED_GROUP__GROUP, newGroup); 221 } 222 223 /** 224 * <!-- begin-user-doc --> 225 * <!-- end-user-doc --> 226 * @generated 227 */ 228 @Override 229 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 230 switch (featureID) { 231 case GitLabPackage.PROJECT_SHARED_GROUP__GROUP: 232 Group group = basicGetGroup(); 233 if (group != null) 234 msgs = ((InternalEObject)group).eInverseRemove(this, GitLabPackage.GROUP__SHARES, Group.class, msgs); 235 return basicSetGroup((Group)otherEnd, msgs); 236 } 237 return super.eInverseAdd(otherEnd, featureID, msgs); 238 } 239 240 /** 241 * <!-- begin-user-doc --> 242 * <!-- end-user-doc --> 243 * @generated 244 */ 245 @Override 246 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 247 switch (featureID) { 248 case GitLabPackage.PROJECT_SHARED_GROUP__GROUP: 249 return basicSetGroup(null, msgs); 250 } 251 return super.eInverseRemove(otherEnd, featureID, msgs); 252 } 253 254 /** 255 * <!-- begin-user-doc --> 256 * <!-- end-user-doc --> 257 * @generated 258 */ 259 @Override 260 public Object eGet(int featureID, boolean resolve, boolean coreType) { 261 switch (featureID) { 262 case GitLabPackage.PROJECT_SHARED_GROUP__ID: 263 return getId(); 264 case GitLabPackage.PROJECT_SHARED_GROUP__NAME: 265 return getName(); 266 case GitLabPackage.PROJECT_SHARED_GROUP__FULL_PATH: 267 return getFullPath(); 268 case GitLabPackage.PROJECT_SHARED_GROUP__ACCESS_LEVEL: 269 return getAccessLevel(); 270 case GitLabPackage.PROJECT_SHARED_GROUP__GROUP: 271 if (resolve) return getGroup(); 272 return basicGetGroup(); 273 } 274 return super.eGet(featureID, resolve, coreType); 275 } 276 277 /** 278 * <!-- begin-user-doc --> 279 * <!-- end-user-doc --> 280 * @generated 281 */ 282 @Override 283 public void eSet(int featureID, Object newValue) { 284 switch (featureID) { 285 case GitLabPackage.PROJECT_SHARED_GROUP__ID: 286 setId((Long)newValue); 287 return; 288 case GitLabPackage.PROJECT_SHARED_GROUP__NAME: 289 setName((String)newValue); 290 return; 291 case GitLabPackage.PROJECT_SHARED_GROUP__FULL_PATH: 292 setFullPath((String)newValue); 293 return; 294 case GitLabPackage.PROJECT_SHARED_GROUP__ACCESS_LEVEL: 295 setAccessLevel((AccessLevel)newValue); 296 return; 297 case GitLabPackage.PROJECT_SHARED_GROUP__GROUP: 298 setGroup((Group)newValue); 299 return; 300 } 301 super.eSet(featureID, newValue); 302 } 303 304 /** 305 * <!-- begin-user-doc --> 306 * <!-- end-user-doc --> 307 * @generated 308 */ 309 @Override 310 public void eUnset(int featureID) { 311 switch (featureID) { 312 case GitLabPackage.PROJECT_SHARED_GROUP__ID: 313 setId(ID_EDEFAULT); 314 return; 315 case GitLabPackage.PROJECT_SHARED_GROUP__NAME: 316 setName(NAME_EDEFAULT); 317 return; 318 case GitLabPackage.PROJECT_SHARED_GROUP__FULL_PATH: 319 setFullPath(FULL_PATH_EDEFAULT); 320 return; 321 case GitLabPackage.PROJECT_SHARED_GROUP__ACCESS_LEVEL: 322 setAccessLevel(ACCESS_LEVEL_EDEFAULT); 323 return; 324 case GitLabPackage.PROJECT_SHARED_GROUP__GROUP: 325 setGroup((Group)null); 326 return; 327 } 328 super.eUnset(featureID); 329 } 330 331 /** 332 * <!-- begin-user-doc --> 333 * <!-- end-user-doc --> 334 * @generated 335 */ 336 @Override 337 public boolean eIsSet(int featureID) { 338 switch (featureID) { 339 case GitLabPackage.PROJECT_SHARED_GROUP__ID: 340 return ID_EDEFAULT == null ? getId() != null : !ID_EDEFAULT.equals(getId()); 341 case GitLabPackage.PROJECT_SHARED_GROUP__NAME: 342 return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName()); 343 case GitLabPackage.PROJECT_SHARED_GROUP__FULL_PATH: 344 return FULL_PATH_EDEFAULT == null ? getFullPath() != null : !FULL_PATH_EDEFAULT.equals(getFullPath()); 345 case GitLabPackage.PROJECT_SHARED_GROUP__ACCESS_LEVEL: 346 return getAccessLevel() != ACCESS_LEVEL_EDEFAULT; 347 case GitLabPackage.PROJECT_SHARED_GROUP__GROUP: 348 return basicGetGroup() != null; 349 } 350 return super.eIsSet(featureID); 351 } 352 353} //ProjectSharedGroupImpl