001/** 002 */ 003package org.nasdanika.models.gitlab.impl; 004 005import java.util.Collection; 006import org.eclipse.emf.common.notify.NotificationChain; 007 008import org.eclipse.emf.common.util.EList; 009 010import org.eclipse.emf.ecore.EClass; 011import org.eclipse.emf.ecore.InternalEObject; 012import org.eclipse.emf.ecore.util.InternalEList; 013 014import org.nasdanika.models.gitlab.Contributor; 015import org.nasdanika.models.gitlab.GitLabPackage; 016import org.nasdanika.models.gitlab.Member; 017import org.nasdanika.models.gitlab.Owner; 018import org.nasdanika.models.gitlab.Project; 019import org.nasdanika.models.gitlab.User; 020import org.nasdanika.models.gitlab.codeowners.CodeOwner; 021 022/** 023 * <!-- begin-user-doc --> 024 * An implementation of the model object '<em><b>User</b></em>'. 025 * <!-- end-user-doc --> 026 * <p> 027 * The following features are implemented: 028 * </p> 029 * <ul> 030 * <li>{@link org.nasdanika.models.gitlab.impl.UserImpl#getProjects <em>Projects</em>}</li> 031 * <li>{@link org.nasdanika.models.gitlab.impl.UserImpl#getMembership <em>Membership</em>}</li> 032 * <li>{@link org.nasdanika.models.gitlab.impl.UserImpl#getOwns <em>Owns</em>}</li> 033 * <li>{@link org.nasdanika.models.gitlab.impl.UserImpl#getCreatedProjects <em>Created Projects</em>}</li> 034 * <li>{@link org.nasdanika.models.gitlab.impl.UserImpl#getContributions <em>Contributions</em>}</li> 035 * <li>{@link org.nasdanika.models.gitlab.impl.UserImpl#getCodeOwnership <em>Code Ownership</em>}</li> 036 * </ul> 037 * 038 * @generated 039 */ 040public class UserImpl extends AbstractUserImpl implements User { 041 /** 042 * <!-- begin-user-doc --> 043 * <!-- end-user-doc --> 044 * @generated 045 */ 046 protected UserImpl() { 047 super(); 048 } 049 050 /** 051 * <!-- begin-user-doc --> 052 * <!-- end-user-doc --> 053 * @generated 054 */ 055 @Override 056 protected EClass eStaticClass() { 057 return GitLabPackage.Literals.USER; 058 } 059 060 /** 061 * <!-- begin-user-doc --> 062 * <!-- end-user-doc --> 063 * @generated 064 */ 065 @SuppressWarnings("unchecked") 066 @Override 067 public EList<Project> getProjects() { 068 return (EList<Project>)eDynamicGet(GitLabPackage.USER__PROJECTS, GitLabPackage.Literals.USER__PROJECTS, true, true); 069 } 070 071 /** 072 * <!-- begin-user-doc --> 073 * <!-- end-user-doc --> 074 * @generated 075 */ 076 @SuppressWarnings("unchecked") 077 @Override 078 public EList<Member> getMembership() { 079 return (EList<Member>)eDynamicGet(GitLabPackage.USER__MEMBERSHIP, GitLabPackage.Literals.USER__MEMBERSHIP, true, true); 080 } 081 082 /** 083 * <!-- begin-user-doc --> 084 * <!-- end-user-doc --> 085 * @generated 086 */ 087 @SuppressWarnings("unchecked") 088 @Override 089 public EList<Owner> getOwns() { 090 return (EList<Owner>)eDynamicGet(GitLabPackage.USER__OWNS, GitLabPackage.Literals.USER__OWNS, true, true); 091 } 092 093 /** 094 * <!-- begin-user-doc --> 095 * <!-- end-user-doc --> 096 * @generated 097 */ 098 @SuppressWarnings("unchecked") 099 @Override 100 public EList<Project> getCreatedProjects() { 101 return (EList<Project>)eDynamicGet(GitLabPackage.USER__CREATED_PROJECTS, GitLabPackage.Literals.USER__CREATED_PROJECTS, true, true); 102 } 103 104 /** 105 * <!-- begin-user-doc --> 106 * <!-- end-user-doc --> 107 * @generated 108 */ 109 @SuppressWarnings("unchecked") 110 @Override 111 public EList<Contributor> getContributions() { 112 return (EList<Contributor>)eDynamicGet(GitLabPackage.USER__CONTRIBUTIONS, GitLabPackage.Literals.USER__CONTRIBUTIONS, true, true); 113 } 114 115 /** 116 * <!-- begin-user-doc --> 117 * <!-- end-user-doc --> 118 * @generated 119 */ 120 @SuppressWarnings("unchecked") 121 @Override 122 public EList<CodeOwner> getCodeOwnership() { 123 return (EList<CodeOwner>)eDynamicGet(GitLabPackage.USER__CODE_OWNERSHIP, GitLabPackage.Literals.USER__CODE_OWNERSHIP, true, true); 124 } 125 126 /** 127 * <!-- begin-user-doc --> 128 * <!-- end-user-doc --> 129 * @generated 130 */ 131 @SuppressWarnings("unchecked") 132 @Override 133 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 134 switch (featureID) { 135 case GitLabPackage.USER__MEMBERSHIP: 136 return ((InternalEList<InternalEObject>)(InternalEList<?>)getMembership()).basicAdd(otherEnd, msgs); 137 case GitLabPackage.USER__OWNS: 138 return ((InternalEList<InternalEObject>)(InternalEList<?>)getOwns()).basicAdd(otherEnd, msgs); 139 case GitLabPackage.USER__CREATED_PROJECTS: 140 return ((InternalEList<InternalEObject>)(InternalEList<?>)getCreatedProjects()).basicAdd(otherEnd, msgs); 141 case GitLabPackage.USER__CONTRIBUTIONS: 142 return ((InternalEList<InternalEObject>)(InternalEList<?>)getContributions()).basicAdd(otherEnd, msgs); 143 case GitLabPackage.USER__CODE_OWNERSHIP: 144 return ((InternalEList<InternalEObject>)(InternalEList<?>)getCodeOwnership()).basicAdd(otherEnd, msgs); 145 } 146 return super.eInverseAdd(otherEnd, featureID, msgs); 147 } 148 149 /** 150 * <!-- begin-user-doc --> 151 * <!-- end-user-doc --> 152 * @generated 153 */ 154 @Override 155 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 156 switch (featureID) { 157 case GitLabPackage.USER__PROJECTS: 158 return ((InternalEList<?>)getProjects()).basicRemove(otherEnd, msgs); 159 case GitLabPackage.USER__MEMBERSHIP: 160 return ((InternalEList<?>)getMembership()).basicRemove(otherEnd, msgs); 161 case GitLabPackage.USER__OWNS: 162 return ((InternalEList<?>)getOwns()).basicRemove(otherEnd, msgs); 163 case GitLabPackage.USER__CREATED_PROJECTS: 164 return ((InternalEList<?>)getCreatedProjects()).basicRemove(otherEnd, msgs); 165 case GitLabPackage.USER__CONTRIBUTIONS: 166 return ((InternalEList<?>)getContributions()).basicRemove(otherEnd, msgs); 167 case GitLabPackage.USER__CODE_OWNERSHIP: 168 return ((InternalEList<?>)getCodeOwnership()).basicRemove(otherEnd, msgs); 169 } 170 return super.eInverseRemove(otherEnd, featureID, msgs); 171 } 172 173 /** 174 * <!-- begin-user-doc --> 175 * <!-- end-user-doc --> 176 * @generated 177 */ 178 @Override 179 public Object eGet(int featureID, boolean resolve, boolean coreType) { 180 switch (featureID) { 181 case GitLabPackage.USER__PROJECTS: 182 return getProjects(); 183 case GitLabPackage.USER__MEMBERSHIP: 184 return getMembership(); 185 case GitLabPackage.USER__OWNS: 186 return getOwns(); 187 case GitLabPackage.USER__CREATED_PROJECTS: 188 return getCreatedProjects(); 189 case GitLabPackage.USER__CONTRIBUTIONS: 190 return getContributions(); 191 case GitLabPackage.USER__CODE_OWNERSHIP: 192 return getCodeOwnership(); 193 } 194 return super.eGet(featureID, resolve, coreType); 195 } 196 197 /** 198 * <!-- begin-user-doc --> 199 * <!-- end-user-doc --> 200 * @generated 201 */ 202 @SuppressWarnings("unchecked") 203 @Override 204 public void eSet(int featureID, Object newValue) { 205 switch (featureID) { 206 case GitLabPackage.USER__PROJECTS: 207 getProjects().clear(); 208 getProjects().addAll((Collection<? extends Project>)newValue); 209 return; 210 case GitLabPackage.USER__MEMBERSHIP: 211 getMembership().clear(); 212 getMembership().addAll((Collection<? extends Member>)newValue); 213 return; 214 case GitLabPackage.USER__OWNS: 215 getOwns().clear(); 216 getOwns().addAll((Collection<? extends Owner>)newValue); 217 return; 218 case GitLabPackage.USER__CREATED_PROJECTS: 219 getCreatedProjects().clear(); 220 getCreatedProjects().addAll((Collection<? extends Project>)newValue); 221 return; 222 case GitLabPackage.USER__CONTRIBUTIONS: 223 getContributions().clear(); 224 getContributions().addAll((Collection<? extends Contributor>)newValue); 225 return; 226 case GitLabPackage.USER__CODE_OWNERSHIP: 227 getCodeOwnership().clear(); 228 getCodeOwnership().addAll((Collection<? extends CodeOwner>)newValue); 229 return; 230 } 231 super.eSet(featureID, newValue); 232 } 233 234 /** 235 * <!-- begin-user-doc --> 236 * <!-- end-user-doc --> 237 * @generated 238 */ 239 @Override 240 public void eUnset(int featureID) { 241 switch (featureID) { 242 case GitLabPackage.USER__PROJECTS: 243 getProjects().clear(); 244 return; 245 case GitLabPackage.USER__MEMBERSHIP: 246 getMembership().clear(); 247 return; 248 case GitLabPackage.USER__OWNS: 249 getOwns().clear(); 250 return; 251 case GitLabPackage.USER__CREATED_PROJECTS: 252 getCreatedProjects().clear(); 253 return; 254 case GitLabPackage.USER__CONTRIBUTIONS: 255 getContributions().clear(); 256 return; 257 case GitLabPackage.USER__CODE_OWNERSHIP: 258 getCodeOwnership().clear(); 259 return; 260 } 261 super.eUnset(featureID); 262 } 263 264 /** 265 * <!-- begin-user-doc --> 266 * <!-- end-user-doc --> 267 * @generated 268 */ 269 @Override 270 public boolean eIsSet(int featureID) { 271 switch (featureID) { 272 case GitLabPackage.USER__PROJECTS: 273 return !getProjects().isEmpty(); 274 case GitLabPackage.USER__MEMBERSHIP: 275 return !getMembership().isEmpty(); 276 case GitLabPackage.USER__OWNS: 277 return !getOwns().isEmpty(); 278 case GitLabPackage.USER__CREATED_PROJECTS: 279 return !getCreatedProjects().isEmpty(); 280 case GitLabPackage.USER__CONTRIBUTIONS: 281 return !getContributions().isEmpty(); 282 case GitLabPackage.USER__CODE_OWNERSHIP: 283 return !getCodeOwnership().isEmpty(); 284 } 285 return super.eIsSet(featureID); 286 } 287 288} //UserImpl