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;
009import org.nasdanika.models.gitlab.Contributor;
010import org.nasdanika.models.gitlab.GitLabPackage;
011import org.nasdanika.models.gitlab.User;
012
013/**
014 * <!-- begin-user-doc -->
015 * An implementation of the model object '<em><b>Contributor</b></em>'.
016 * <!-- end-user-doc -->
017 * <p>
018 * The following features are implemented:
019 * </p>
020 * <ul>
021 *   <li>{@link org.nasdanika.models.gitlab.impl.ContributorImpl#getUser <em>User</em>}</li>
022 *   <li>{@link org.nasdanika.models.gitlab.impl.ContributorImpl#getCommits <em>Commits</em>}</li>
023 *   <li>{@link org.nasdanika.models.gitlab.impl.ContributorImpl#getAdditions <em>Additions</em>}</li>
024 *   <li>{@link org.nasdanika.models.gitlab.impl.ContributorImpl#getDeletions <em>Deletions</em>}</li>
025 * </ul>
026 *
027 * @generated
028 */
029public class ContributorImpl extends AbstractUserImpl implements Contributor {
030        /**
031         * The default value of the '{@link #getCommits() <em>Commits</em>}' attribute.
032         * <!-- begin-user-doc -->
033         * <!-- end-user-doc -->
034         * @see #getCommits()
035         * @generated
036         * @ordered
037         */
038        protected static final Integer COMMITS_EDEFAULT = null;
039
040        /**
041         * The default value of the '{@link #getAdditions() <em>Additions</em>}' attribute.
042         * <!-- begin-user-doc -->
043         * <!-- end-user-doc -->
044         * @see #getAdditions()
045         * @generated
046         * @ordered
047         */
048        protected static final Integer ADDITIONS_EDEFAULT = null;
049
050        /**
051         * The default value of the '{@link #getDeletions() <em>Deletions</em>}' attribute.
052         * <!-- begin-user-doc -->
053         * <!-- end-user-doc -->
054         * @see #getDeletions()
055         * @generated
056         * @ordered
057         */
058        protected static final Integer DELETIONS_EDEFAULT = null;
059
060        /**
061         * <!-- begin-user-doc -->
062         * <!-- end-user-doc -->
063         * @generated
064         */
065        protected ContributorImpl() {
066                super();
067        }
068
069        /**
070         * <!-- begin-user-doc -->
071         * <!-- end-user-doc -->
072         * @generated
073         */
074        @Override
075        protected EClass eStaticClass() {
076                return GitLabPackage.Literals.CONTRIBUTOR;
077        }
078
079        /**
080         * <!-- begin-user-doc -->
081         * <!-- end-user-doc -->
082         * @generated
083         */
084        @Override
085        public User getUser() {
086                return (User)eDynamicGet(GitLabPackage.CONTRIBUTOR__USER, GitLabPackage.Literals.CONTRIBUTOR__USER, true, true);
087        }
088
089        /**
090         * <!-- begin-user-doc -->
091         * <!-- end-user-doc -->
092         * @generated
093         */
094        public User basicGetUser() {
095                return (User)eDynamicGet(GitLabPackage.CONTRIBUTOR__USER, GitLabPackage.Literals.CONTRIBUTOR__USER, false, true);
096        }
097
098        /**
099         * <!-- begin-user-doc -->
100         * <!-- end-user-doc -->
101         * @generated
102         */
103        public NotificationChain basicSetUser(User newUser, NotificationChain msgs) {
104                msgs = eDynamicInverseAdd((InternalEObject)newUser, GitLabPackage.CONTRIBUTOR__USER, msgs);
105                return msgs;
106        }
107
108        /**
109         * <!-- begin-user-doc -->
110         * <!-- end-user-doc -->
111         * @generated
112         */
113        @Override
114        public void setUser(User newUser) {
115                eDynamicSet(GitLabPackage.CONTRIBUTOR__USER, GitLabPackage.Literals.CONTRIBUTOR__USER, newUser);
116        }
117
118        /**
119         * <!-- begin-user-doc -->
120         * <!-- end-user-doc -->
121         * @generated
122         */
123        @Override
124        public Integer getCommits() {
125                return (Integer)eDynamicGet(GitLabPackage.CONTRIBUTOR__COMMITS, GitLabPackage.Literals.CONTRIBUTOR__COMMITS, true, true);
126        }
127
128        /**
129         * <!-- begin-user-doc -->
130         * <!-- end-user-doc -->
131         * @generated
132         */
133        @Override
134        public void setCommits(Integer newCommits) {
135                eDynamicSet(GitLabPackage.CONTRIBUTOR__COMMITS, GitLabPackage.Literals.CONTRIBUTOR__COMMITS, newCommits);
136        }
137
138        /**
139         * <!-- begin-user-doc -->
140         * <!-- end-user-doc -->
141         * @generated
142         */
143        @Override
144        public Integer getAdditions() {
145                return (Integer)eDynamicGet(GitLabPackage.CONTRIBUTOR__ADDITIONS, GitLabPackage.Literals.CONTRIBUTOR__ADDITIONS, true, true);
146        }
147
148        /**
149         * <!-- begin-user-doc -->
150         * <!-- end-user-doc -->
151         * @generated
152         */
153        @Override
154        public void setAdditions(Integer newAdditions) {
155                eDynamicSet(GitLabPackage.CONTRIBUTOR__ADDITIONS, GitLabPackage.Literals.CONTRIBUTOR__ADDITIONS, newAdditions);
156        }
157
158        /**
159         * <!-- begin-user-doc -->
160         * <!-- end-user-doc -->
161         * @generated
162         */
163        @Override
164        public Integer getDeletions() {
165                return (Integer)eDynamicGet(GitLabPackage.CONTRIBUTOR__DELETIONS, GitLabPackage.Literals.CONTRIBUTOR__DELETIONS, true, true);
166        }
167
168        /**
169         * <!-- begin-user-doc -->
170         * <!-- end-user-doc -->
171         * @generated
172         */
173        @Override
174        public void setDeletions(Integer newDeletions) {
175                eDynamicSet(GitLabPackage.CONTRIBUTOR__DELETIONS, GitLabPackage.Literals.CONTRIBUTOR__DELETIONS, newDeletions);
176        }
177
178        /**
179         * <!-- begin-user-doc -->
180         * <!-- end-user-doc -->
181         * @generated
182         */
183        @Override
184        public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
185                switch (featureID) {
186                        case GitLabPackage.CONTRIBUTOR__USER:
187                                User user = basicGetUser();
188                                if (user != null)
189                                        msgs = ((InternalEObject)user).eInverseRemove(this, GitLabPackage.USER__CONTRIBUTIONS, User.class, msgs);
190                                return basicSetUser((User)otherEnd, msgs);
191                }
192                return super.eInverseAdd(otherEnd, featureID, msgs);
193        }
194
195        /**
196         * <!-- begin-user-doc -->
197         * <!-- end-user-doc -->
198         * @generated
199         */
200        @Override
201        public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
202                switch (featureID) {
203                        case GitLabPackage.CONTRIBUTOR__USER:
204                                return basicSetUser(null, msgs);
205                }
206                return super.eInverseRemove(otherEnd, featureID, msgs);
207        }
208
209        /**
210         * <!-- begin-user-doc -->
211         * <!-- end-user-doc -->
212         * @generated
213         */
214        @Override
215        public Object eGet(int featureID, boolean resolve, boolean coreType) {
216                switch (featureID) {
217                        case GitLabPackage.CONTRIBUTOR__USER:
218                                if (resolve) return getUser();
219                                return basicGetUser();
220                        case GitLabPackage.CONTRIBUTOR__COMMITS:
221                                return getCommits();
222                        case GitLabPackage.CONTRIBUTOR__ADDITIONS:
223                                return getAdditions();
224                        case GitLabPackage.CONTRIBUTOR__DELETIONS:
225                                return getDeletions();
226                }
227                return super.eGet(featureID, resolve, coreType);
228        }
229
230        /**
231         * <!-- begin-user-doc -->
232         * <!-- end-user-doc -->
233         * @generated
234         */
235        @Override
236        public void eSet(int featureID, Object newValue) {
237                switch (featureID) {
238                        case GitLabPackage.CONTRIBUTOR__USER:
239                                setUser((User)newValue);
240                                return;
241                        case GitLabPackage.CONTRIBUTOR__COMMITS:
242                                setCommits((Integer)newValue);
243                                return;
244                        case GitLabPackage.CONTRIBUTOR__ADDITIONS:
245                                setAdditions((Integer)newValue);
246                                return;
247                        case GitLabPackage.CONTRIBUTOR__DELETIONS:
248                                setDeletions((Integer)newValue);
249                                return;
250                }
251                super.eSet(featureID, newValue);
252        }
253
254        /**
255         * <!-- begin-user-doc -->
256         * <!-- end-user-doc -->
257         * @generated
258         */
259        @Override
260        public void eUnset(int featureID) {
261                switch (featureID) {
262                        case GitLabPackage.CONTRIBUTOR__USER:
263                                setUser((User)null);
264                                return;
265                        case GitLabPackage.CONTRIBUTOR__COMMITS:
266                                setCommits(COMMITS_EDEFAULT);
267                                return;
268                        case GitLabPackage.CONTRIBUTOR__ADDITIONS:
269                                setAdditions(ADDITIONS_EDEFAULT);
270                                return;
271                        case GitLabPackage.CONTRIBUTOR__DELETIONS:
272                                setDeletions(DELETIONS_EDEFAULT);
273                                return;
274                }
275                super.eUnset(featureID);
276        }
277
278        /**
279         * <!-- begin-user-doc -->
280         * <!-- end-user-doc -->
281         * @generated
282         */
283        @Override
284        public boolean eIsSet(int featureID) {
285                switch (featureID) {
286                        case GitLabPackage.CONTRIBUTOR__USER:
287                                return basicGetUser() != null;
288                        case GitLabPackage.CONTRIBUTOR__COMMITS:
289                                return COMMITS_EDEFAULT == null ? getCommits() != null : !COMMITS_EDEFAULT.equals(getCommits());
290                        case GitLabPackage.CONTRIBUTOR__ADDITIONS:
291                                return ADDITIONS_EDEFAULT == null ? getAdditions() != null : !ADDITIONS_EDEFAULT.equals(getAdditions());
292                        case GitLabPackage.CONTRIBUTOR__DELETIONS:
293                                return DELETIONS_EDEFAULT == null ? getDeletions() != null : !DELETIONS_EDEFAULT.equals(getDeletions());
294                }
295                return super.eIsSet(featureID);
296        }
297
298} //ContributorImpl