001/** 002 */ 003package org.nasdanika.models.gitlab.impl; 004 005import org.eclipse.emf.ecore.EClass; 006 007import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 008 009import org.nasdanika.models.gitlab.AccessLevel; 010import org.nasdanika.models.gitlab.GitLabPackage; 011import org.nasdanika.models.gitlab.ProjectAccess; 012 013/** 014 * <!-- begin-user-doc --> 015 * An implementation of the model object '<em><b>Project Access</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.ProjectAccessImpl#getAccessLevel <em>Access Level</em>}</li> 022 * <li>{@link org.nasdanika.models.gitlab.impl.ProjectAccessImpl#getNotificationLevel <em>Notification Level</em>}</li> 023 * </ul> 024 * 025 * @generated 026 */ 027public class ProjectAccessImpl extends MinimalEObjectImpl.Container implements ProjectAccess { 028 /** 029 * The default value of the '{@link #getAccessLevel() <em>Access Level</em>}' attribute. 030 * <!-- begin-user-doc --> 031 * <!-- end-user-doc --> 032 * @see #getAccessLevel() 033 * @generated 034 * @ordered 035 */ 036 protected static final AccessLevel ACCESS_LEVEL_EDEFAULT = AccessLevel.INVALID; 037 038 /** 039 * The default value of the '{@link #getNotificationLevel() <em>Notification Level</em>}' attribute. 040 * <!-- begin-user-doc --> 041 * <!-- end-user-doc --> 042 * @see #getNotificationLevel() 043 * @generated 044 * @ordered 045 */ 046 protected static final int NOTIFICATION_LEVEL_EDEFAULT = 0; 047 048 /** 049 * <!-- begin-user-doc --> 050 * <!-- end-user-doc --> 051 * @generated 052 */ 053 protected ProjectAccessImpl() { 054 super(); 055 } 056 057 /** 058 * <!-- begin-user-doc --> 059 * <!-- end-user-doc --> 060 * @generated 061 */ 062 @Override 063 protected EClass eStaticClass() { 064 return GitLabPackage.Literals.PROJECT_ACCESS; 065 } 066 067 /** 068 * <!-- begin-user-doc --> 069 * <!-- end-user-doc --> 070 * @generated 071 */ 072 @Override 073 protected int eStaticFeatureCount() { 074 return 0; 075 } 076 077 /** 078 * <!-- begin-user-doc --> 079 * <!-- end-user-doc --> 080 * @generated 081 */ 082 @Override 083 public AccessLevel getAccessLevel() { 084 return (AccessLevel)eDynamicGet(GitLabPackage.PROJECT_ACCESS__ACCESS_LEVEL, GitLabPackage.Literals.PROJECT_ACCESS__ACCESS_LEVEL, true, true); 085 } 086 087 /** 088 * <!-- begin-user-doc --> 089 * <!-- end-user-doc --> 090 * @generated 091 */ 092 @Override 093 public void setAccessLevel(AccessLevel newAccessLevel) { 094 eDynamicSet(GitLabPackage.PROJECT_ACCESS__ACCESS_LEVEL, GitLabPackage.Literals.PROJECT_ACCESS__ACCESS_LEVEL, newAccessLevel); 095 } 096 097 /** 098 * <!-- begin-user-doc --> 099 * <!-- end-user-doc --> 100 * @generated 101 */ 102 @Override 103 public int getNotificationLevel() { 104 return (Integer)eDynamicGet(GitLabPackage.PROJECT_ACCESS__NOTIFICATION_LEVEL, GitLabPackage.Literals.PROJECT_ACCESS__NOTIFICATION_LEVEL, true, true); 105 } 106 107 /** 108 * <!-- begin-user-doc --> 109 * <!-- end-user-doc --> 110 * @generated 111 */ 112 @Override 113 public void setNotificationLevel(int newNotificationLevel) { 114 eDynamicSet(GitLabPackage.PROJECT_ACCESS__NOTIFICATION_LEVEL, GitLabPackage.Literals.PROJECT_ACCESS__NOTIFICATION_LEVEL, newNotificationLevel); 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.PROJECT_ACCESS__ACCESS_LEVEL: 126 return getAccessLevel(); 127 case GitLabPackage.PROJECT_ACCESS__NOTIFICATION_LEVEL: 128 return getNotificationLevel(); 129 } 130 return super.eGet(featureID, resolve, coreType); 131 } 132 133 /** 134 * <!-- begin-user-doc --> 135 * <!-- end-user-doc --> 136 * @generated 137 */ 138 @Override 139 public void eSet(int featureID, Object newValue) { 140 switch (featureID) { 141 case GitLabPackage.PROJECT_ACCESS__ACCESS_LEVEL: 142 setAccessLevel((AccessLevel)newValue); 143 return; 144 case GitLabPackage.PROJECT_ACCESS__NOTIFICATION_LEVEL: 145 setNotificationLevel((Integer)newValue); 146 return; 147 } 148 super.eSet(featureID, newValue); 149 } 150 151 /** 152 * <!-- begin-user-doc --> 153 * <!-- end-user-doc --> 154 * @generated 155 */ 156 @Override 157 public void eUnset(int featureID) { 158 switch (featureID) { 159 case GitLabPackage.PROJECT_ACCESS__ACCESS_LEVEL: 160 setAccessLevel(ACCESS_LEVEL_EDEFAULT); 161 return; 162 case GitLabPackage.PROJECT_ACCESS__NOTIFICATION_LEVEL: 163 setNotificationLevel(NOTIFICATION_LEVEL_EDEFAULT); 164 return; 165 } 166 super.eUnset(featureID); 167 } 168 169 /** 170 * <!-- begin-user-doc --> 171 * <!-- end-user-doc --> 172 * @generated 173 */ 174 @Override 175 public boolean eIsSet(int featureID) { 176 switch (featureID) { 177 case GitLabPackage.PROJECT_ACCESS__ACCESS_LEVEL: 178 return getAccessLevel() != ACCESS_LEVEL_EDEFAULT; 179 case GitLabPackage.PROJECT_ACCESS__NOTIFICATION_LEVEL: 180 return getNotificationLevel() != NOTIFICATION_LEVEL_EDEFAULT; 181 } 182 return super.eIsSet(featureID); 183 } 184 185} //ProjectAccessImpl