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.nasdanika.models.gitlab.GitLabPackage; 011import org.nasdanika.models.gitlab.Owner; 012import org.nasdanika.models.gitlab.User; 013 014/** 015 * <!-- begin-user-doc --> 016 * An implementation of the model object '<em><b>Owner</b></em>'. 017 * <!-- end-user-doc --> 018 * <p> 019 * The following features are implemented: 020 * </p> 021 * <ul> 022 * <li>{@link org.nasdanika.models.gitlab.impl.OwnerImpl#getUser <em>User</em>}</li> 023 * </ul> 024 * 025 * @generated 026 */ 027public class OwnerImpl extends AbstractUserImpl implements Owner { 028 /** 029 * <!-- begin-user-doc --> 030 * <!-- end-user-doc --> 031 * @generated 032 */ 033 protected OwnerImpl() { 034 super(); 035 } 036 037 /** 038 * <!-- begin-user-doc --> 039 * <!-- end-user-doc --> 040 * @generated 041 */ 042 @Override 043 protected EClass eStaticClass() { 044 return GitLabPackage.Literals.OWNER; 045 } 046 047 /** 048 * <!-- begin-user-doc --> 049 * <!-- end-user-doc --> 050 * @generated 051 */ 052 @Override 053 public User getUser() { 054 return (User)eDynamicGet(GitLabPackage.OWNER__USER, GitLabPackage.Literals.OWNER__USER, true, true); 055 } 056 057 /** 058 * <!-- begin-user-doc --> 059 * <!-- end-user-doc --> 060 * @generated 061 */ 062 public User basicGetUser() { 063 return (User)eDynamicGet(GitLabPackage.OWNER__USER, GitLabPackage.Literals.OWNER__USER, false, true); 064 } 065 066 /** 067 * <!-- begin-user-doc --> 068 * <!-- end-user-doc --> 069 * @generated 070 */ 071 public NotificationChain basicSetUser(User newUser, NotificationChain msgs) { 072 msgs = eDynamicInverseAdd((InternalEObject)newUser, GitLabPackage.OWNER__USER, msgs); 073 return msgs; 074 } 075 076 /** 077 * <!-- begin-user-doc --> 078 * <!-- end-user-doc --> 079 * @generated 080 */ 081 @Override 082 public void setUser(User newUser) { 083 eDynamicSet(GitLabPackage.OWNER__USER, GitLabPackage.Literals.OWNER__USER, newUser); 084 } 085 086 /** 087 * <!-- begin-user-doc --> 088 * <!-- end-user-doc --> 089 * @generated 090 */ 091 @Override 092 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 093 switch (featureID) { 094 case GitLabPackage.OWNER__USER: 095 User user = basicGetUser(); 096 if (user != null) 097 msgs = ((InternalEObject)user).eInverseRemove(this, GitLabPackage.USER__OWNS, User.class, msgs); 098 return basicSetUser((User)otherEnd, msgs); 099 } 100 return super.eInverseAdd(otherEnd, featureID, msgs); 101 } 102 103 /** 104 * <!-- begin-user-doc --> 105 * <!-- end-user-doc --> 106 * @generated 107 */ 108 @Override 109 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 110 switch (featureID) { 111 case GitLabPackage.OWNER__USER: 112 return basicSetUser(null, msgs); 113 } 114 return super.eInverseRemove(otherEnd, featureID, msgs); 115 } 116 117 /** 118 * <!-- begin-user-doc --> 119 * <!-- end-user-doc --> 120 * @generated 121 */ 122 @Override 123 public Object eGet(int featureID, boolean resolve, boolean coreType) { 124 switch (featureID) { 125 case GitLabPackage.OWNER__USER: 126 if (resolve) return getUser(); 127 return basicGetUser(); 128 } 129 return super.eGet(featureID, resolve, coreType); 130 } 131 132 /** 133 * <!-- begin-user-doc --> 134 * <!-- end-user-doc --> 135 * @generated 136 */ 137 @Override 138 public void eSet(int featureID, Object newValue) { 139 switch (featureID) { 140 case GitLabPackage.OWNER__USER: 141 setUser((User)newValue); 142 return; 143 } 144 super.eSet(featureID, newValue); 145 } 146 147 /** 148 * <!-- begin-user-doc --> 149 * <!-- end-user-doc --> 150 * @generated 151 */ 152 @Override 153 public void eUnset(int featureID) { 154 switch (featureID) { 155 case GitLabPackage.OWNER__USER: 156 setUser((User)null); 157 return; 158 } 159 super.eUnset(featureID); 160 } 161 162 /** 163 * <!-- begin-user-doc --> 164 * <!-- end-user-doc --> 165 * @generated 166 */ 167 @Override 168 public boolean eIsSet(int featureID) { 169 switch (featureID) { 170 case GitLabPackage.OWNER__USER: 171 return basicGetUser() != null; 172 } 173 return super.eIsSet(featureID); 174 } 175 176} //OwnerImpl