001/** 002 */ 003package org.nasdanika.models.gitlab.impl; 004 005import org.eclipse.emf.common.util.BasicEMap; 006import org.eclipse.emf.common.util.EMap; 007 008import org.eclipse.emf.ecore.EClass; 009import org.eclipse.emf.ecore.EObject; 010 011import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 012 013import org.nasdanika.models.gitlab.GitLabPackage; 014 015/** 016 * <!-- begin-user-doc --> 017 * An implementation of the model object '<em><b>Custom Attribute</b></em>'. 018 * <!-- end-user-doc --> 019 * <p> 020 * The following features are implemented: 021 * </p> 022 * <ul> 023 * <li>{@link org.nasdanika.models.gitlab.impl.CustomAttributeImpl#getTypedKey <em>Key</em>}</li> 024 * <li>{@link org.nasdanika.models.gitlab.impl.CustomAttributeImpl#getTypedValue <em>Value</em>}</li> 025 * </ul> 026 * 027 * @generated 028 */ 029public class CustomAttributeImpl extends MinimalEObjectImpl.Container implements BasicEMap.Entry<String,String> { 030 /** 031 * The default value of the '{@link #getTypedKey() <em>Key</em>}' attribute. 032 * <!-- begin-user-doc --> 033 * <!-- end-user-doc --> 034 * @see #getTypedKey() 035 * @generated 036 * @ordered 037 */ 038 protected static final String KEY_EDEFAULT = null; 039 040 /** 041 * The default value of the '{@link #getTypedValue() <em>Value</em>}' attribute. 042 * <!-- begin-user-doc --> 043 * <!-- end-user-doc --> 044 * @see #getTypedValue() 045 * @generated 046 * @ordered 047 */ 048 protected static final String VALUE_EDEFAULT = null; 049 050 /** 051 * <!-- begin-user-doc --> 052 * <!-- end-user-doc --> 053 * @generated 054 */ 055 protected CustomAttributeImpl() { 056 super(); 057 } 058 059 /** 060 * <!-- begin-user-doc --> 061 * <!-- end-user-doc --> 062 * @generated 063 */ 064 @Override 065 protected EClass eStaticClass() { 066 return GitLabPackage.Literals.CUSTOM_ATTRIBUTE; 067 } 068 069 /** 070 * <!-- begin-user-doc --> 071 * <!-- end-user-doc --> 072 * @generated 073 */ 074 @Override 075 protected int eStaticFeatureCount() { 076 return 0; 077 } 078 079 /** 080 * <!-- begin-user-doc --> 081 * <!-- end-user-doc --> 082 * @generated 083 */ 084 public String getTypedKey() { 085 return (String)eDynamicGet(GitLabPackage.CUSTOM_ATTRIBUTE__KEY, GitLabPackage.Literals.CUSTOM_ATTRIBUTE__KEY, true, true); 086 } 087 088 /** 089 * <!-- begin-user-doc --> 090 * <!-- end-user-doc --> 091 * @generated 092 */ 093 public void setTypedKey(String newKey) { 094 eDynamicSet(GitLabPackage.CUSTOM_ATTRIBUTE__KEY, GitLabPackage.Literals.CUSTOM_ATTRIBUTE__KEY, newKey); 095 } 096 097 /** 098 * <!-- begin-user-doc --> 099 * <!-- end-user-doc --> 100 * @generated 101 */ 102 public String getTypedValue() { 103 return (String)eDynamicGet(GitLabPackage.CUSTOM_ATTRIBUTE__VALUE, GitLabPackage.Literals.CUSTOM_ATTRIBUTE__VALUE, true, true); 104 } 105 106 /** 107 * <!-- begin-user-doc --> 108 * <!-- end-user-doc --> 109 * @generated 110 */ 111 public void setTypedValue(String newValue) { 112 eDynamicSet(GitLabPackage.CUSTOM_ATTRIBUTE__VALUE, GitLabPackage.Literals.CUSTOM_ATTRIBUTE__VALUE, newValue); 113 } 114 115 /** 116 * <!-- begin-user-doc --> 117 * <!-- end-user-doc --> 118 * @generated 119 */ 120 @Override 121 public Object eGet(int featureID, boolean resolve, boolean coreType) { 122 switch (featureID) { 123 case GitLabPackage.CUSTOM_ATTRIBUTE__KEY: 124 return getTypedKey(); 125 case GitLabPackage.CUSTOM_ATTRIBUTE__VALUE: 126 return getTypedValue(); 127 } 128 return super.eGet(featureID, resolve, coreType); 129 } 130 131 /** 132 * <!-- begin-user-doc --> 133 * <!-- end-user-doc --> 134 * @generated 135 */ 136 @Override 137 public void eSet(int featureID, Object newValue) { 138 switch (featureID) { 139 case GitLabPackage.CUSTOM_ATTRIBUTE__KEY: 140 setTypedKey((String)newValue); 141 return; 142 case GitLabPackage.CUSTOM_ATTRIBUTE__VALUE: 143 setTypedValue((String)newValue); 144 return; 145 } 146 super.eSet(featureID, newValue); 147 } 148 149 /** 150 * <!-- begin-user-doc --> 151 * <!-- end-user-doc --> 152 * @generated 153 */ 154 @Override 155 public void eUnset(int featureID) { 156 switch (featureID) { 157 case GitLabPackage.CUSTOM_ATTRIBUTE__KEY: 158 setTypedKey(KEY_EDEFAULT); 159 return; 160 case GitLabPackage.CUSTOM_ATTRIBUTE__VALUE: 161 setTypedValue(VALUE_EDEFAULT); 162 return; 163 } 164 super.eUnset(featureID); 165 } 166 167 /** 168 * <!-- begin-user-doc --> 169 * <!-- end-user-doc --> 170 * @generated 171 */ 172 @Override 173 public boolean eIsSet(int featureID) { 174 switch (featureID) { 175 case GitLabPackage.CUSTOM_ATTRIBUTE__KEY: 176 return KEY_EDEFAULT == null ? getTypedKey() != null : !KEY_EDEFAULT.equals(getTypedKey()); 177 case GitLabPackage.CUSTOM_ATTRIBUTE__VALUE: 178 return VALUE_EDEFAULT == null ? getTypedValue() != null : !VALUE_EDEFAULT.equals(getTypedValue()); 179 } 180 return super.eIsSet(featureID); 181 } 182 183 /** 184 * <!-- begin-user-doc --> 185 * <!-- end-user-doc --> 186 * @generated 187 */ 188 protected int hash = -1; 189 190 /** 191 * <!-- begin-user-doc --> 192 * <!-- end-user-doc --> 193 * @generated 194 */ 195 @Override 196 public int getHash() { 197 if (hash == -1) { 198 Object theKey = getKey(); 199 hash = (theKey == null ? 0 : theKey.hashCode()); 200 } 201 return hash; 202 } 203 204 /** 205 * <!-- begin-user-doc --> 206 * <!-- end-user-doc --> 207 * @generated 208 */ 209 @Override 210 public void setHash(int hash) { 211 this.hash = hash; 212 } 213 214 /** 215 * <!-- begin-user-doc --> 216 * <!-- end-user-doc --> 217 * @generated 218 */ 219 @Override 220 public String getKey() { 221 return getTypedKey(); 222 } 223 224 /** 225 * <!-- begin-user-doc --> 226 * <!-- end-user-doc --> 227 * @generated 228 */ 229 @Override 230 public void setKey(String key) { 231 setTypedKey(key); 232 } 233 234 /** 235 * <!-- begin-user-doc --> 236 * <!-- end-user-doc --> 237 * @generated 238 */ 239 @Override 240 public String getValue() { 241 return getTypedValue(); 242 } 243 244 /** 245 * <!-- begin-user-doc --> 246 * <!-- end-user-doc --> 247 * @generated 248 */ 249 @Override 250 public String setValue(String value) { 251 String oldValue = getValue(); 252 setTypedValue(value); 253 return oldValue; 254 } 255 256 /** 257 * <!-- begin-user-doc --> 258 * <!-- end-user-doc --> 259 * @generated 260 */ 261 @SuppressWarnings("unchecked") 262 public EMap<String, String> getEMap() { 263 EObject container = eContainer(); 264 return container == null ? null : (EMap<String, String>)container.eGet(eContainmentFeature()); 265 } 266 267} //CustomAttributeImpl