001/** 002 */ 003package org.nasdanika.models.gitlab.impl; 004 005import java.util.Collection; 006import java.util.Date; 007 008import org.eclipse.emf.common.notify.NotificationChain; 009import org.eclipse.emf.common.util.EList; 010import org.eclipse.emf.ecore.EClass; 011 012import org.eclipse.emf.ecore.InternalEObject; 013import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 014 015import org.eclipse.emf.ecore.util.InternalEList; 016import org.nasdanika.models.gitlab.GitLabPackage; 017import org.nasdanika.models.gitlab.Load; 018import org.nasdanika.models.gitlab.Loadable; 019 020/** 021 * <!-- begin-user-doc --> 022 * An implementation of the model object '<em><b>Loadable</b></em>'. 023 * <!-- end-user-doc --> 024 * <p> 025 * The following features are implemented: 026 * </p> 027 * <ul> 028 * <li>{@link org.nasdanika.models.gitlab.impl.LoadableImpl#getLoaded <em>Loaded</em>}</li> 029 * <li>{@link org.nasdanika.models.gitlab.impl.LoadableImpl#getLoads <em>Loads</em>}</li> 030 * </ul> 031 * 032 * @generated 033 */ 034public abstract class LoadableImpl extends MinimalEObjectImpl.Container implements Loadable { 035 /** 036 * The default value of the '{@link #getLoaded() <em>Loaded</em>}' attribute. 037 * <!-- begin-user-doc --> 038 * <!-- end-user-doc --> 039 * @see #getLoaded() 040 * @generated 041 * @ordered 042 */ 043 protected static final Date LOADED_EDEFAULT = null; 044 045 /** 046 * <!-- begin-user-doc --> 047 * <!-- end-user-doc --> 048 * @generated 049 */ 050 protected LoadableImpl() { 051 super(); 052 } 053 054 /** 055 * <!-- begin-user-doc --> 056 * <!-- end-user-doc --> 057 * @generated 058 */ 059 @Override 060 protected EClass eStaticClass() { 061 return GitLabPackage.Literals.LOADABLE; 062 } 063 064 /** 065 * <!-- begin-user-doc --> 066 * <!-- end-user-doc --> 067 * @generated 068 */ 069 @Override 070 protected int eStaticFeatureCount() { 071 return 0; 072 } 073 074 /** 075 * <!-- begin-user-doc --> 076 * <!-- end-user-doc --> 077 * @generated 078 */ 079 @Override 080 public Date getLoaded() { 081 return (Date)eDynamicGet(GitLabPackage.LOADABLE__LOADED, GitLabPackage.Literals.LOADABLE__LOADED, true, true); 082 } 083 084 /** 085 * <!-- begin-user-doc --> 086 * <!-- end-user-doc --> 087 * @generated 088 */ 089 @Override 090 public void setLoaded(Date newLoaded) { 091 eDynamicSet(GitLabPackage.LOADABLE__LOADED, GitLabPackage.Literals.LOADABLE__LOADED, newLoaded); 092 } 093 094 /** 095 * <!-- begin-user-doc --> 096 * <!-- end-user-doc --> 097 * @generated 098 */ 099 @SuppressWarnings("unchecked") 100 @Override 101 public EList<Load> getLoads() { 102 return (EList<Load>)eDynamicGet(GitLabPackage.LOADABLE__LOADS, GitLabPackage.Literals.LOADABLE__LOADS, true, true); 103 } 104 105 /** 106 * <!-- begin-user-doc --> 107 * <!-- end-user-doc --> 108 * @generated 109 */ 110 @Override 111 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 112 switch (featureID) { 113 case GitLabPackage.LOADABLE__LOADS: 114 return ((InternalEList<?>)getLoads()).basicRemove(otherEnd, msgs); 115 } 116 return super.eInverseRemove(otherEnd, featureID, msgs); 117 } 118 119 /** 120 * <!-- begin-user-doc --> 121 * <!-- end-user-doc --> 122 * @generated 123 */ 124 @Override 125 public Object eGet(int featureID, boolean resolve, boolean coreType) { 126 switch (featureID) { 127 case GitLabPackage.LOADABLE__LOADED: 128 return getLoaded(); 129 case GitLabPackage.LOADABLE__LOADS: 130 return getLoads(); 131 } 132 return super.eGet(featureID, resolve, coreType); 133 } 134 135 /** 136 * <!-- begin-user-doc --> 137 * <!-- end-user-doc --> 138 * @generated 139 */ 140 @SuppressWarnings("unchecked") 141 @Override 142 public void eSet(int featureID, Object newValue) { 143 switch (featureID) { 144 case GitLabPackage.LOADABLE__LOADED: 145 setLoaded((Date)newValue); 146 return; 147 case GitLabPackage.LOADABLE__LOADS: 148 getLoads().clear(); 149 getLoads().addAll((Collection<? extends Load>)newValue); 150 return; 151 } 152 super.eSet(featureID, newValue); 153 } 154 155 /** 156 * <!-- begin-user-doc --> 157 * <!-- end-user-doc --> 158 * @generated 159 */ 160 @Override 161 public void eUnset(int featureID) { 162 switch (featureID) { 163 case GitLabPackage.LOADABLE__LOADED: 164 setLoaded(LOADED_EDEFAULT); 165 return; 166 case GitLabPackage.LOADABLE__LOADS: 167 getLoads().clear(); 168 return; 169 } 170 super.eUnset(featureID); 171 } 172 173 /** 174 * <!-- begin-user-doc --> 175 * <!-- end-user-doc --> 176 * @generated 177 */ 178 @Override 179 public boolean eIsSet(int featureID) { 180 switch (featureID) { 181 case GitLabPackage.LOADABLE__LOADED: 182 return LOADED_EDEFAULT == null ? getLoaded() != null : !LOADED_EDEFAULT.equals(getLoaded()); 183 case GitLabPackage.LOADABLE__LOADS: 184 return !getLoads().isEmpty(); 185 } 186 return super.eIsSet(featureID); 187 } 188 189} //LoadableImpl