001/** 002 */ 003package org.nasdanika.models.gitlab.impl; 004 005import java.util.Collection; 006 007import java.util.Date; 008import org.eclipse.emf.common.notify.NotificationChain; 009 010import org.eclipse.emf.common.util.EList; 011 012import org.eclipse.emf.ecore.EClass; 013import org.eclipse.emf.ecore.InternalEObject; 014 015import org.eclipse.emf.ecore.util.InternalEList; 016 017import org.nasdanika.models.gitlab.GitLabPackage; 018import org.nasdanika.models.gitlab.Tree; 019import org.nasdanika.ncore.NcorePackage; 020import org.nasdanika.ncore.TreeItem; 021 022/** 023 * <!-- begin-user-doc --> 024 * An implementation of the model object '<em><b>Tree</b></em>'. 025 * <!-- end-user-doc --> 026 * <p> 027 * The following features are implemented: 028 * </p> 029 * <ul> 030 * <li>{@link org.nasdanika.models.gitlab.impl.TreeImpl#getTreeItems <em>Tree Items</em>}</li> 031 * <li>{@link org.nasdanika.models.gitlab.impl.TreeImpl#getTreeItemsLoaded <em>Tree Items Loaded</em>}</li> 032 * </ul> 033 * 034 * @generated 035 */ 036public class TreeImpl extends TreeItemImpl implements Tree { 037 /** 038 * The default value of the '{@link #getTreeItemsLoaded() <em>Tree Items Loaded</em>}' attribute. 039 * <!-- begin-user-doc --> 040 * <!-- end-user-doc --> 041 * @see #getTreeItemsLoaded() 042 * @generated 043 * @ordered 044 */ 045 protected static final Date TREE_ITEMS_LOADED_EDEFAULT = null; 046 047 /** 048 * <!-- begin-user-doc --> 049 * <!-- end-user-doc --> 050 * @generated 051 */ 052 protected TreeImpl() { 053 super(); 054 } 055 056 /** 057 * <!-- begin-user-doc --> 058 * <!-- end-user-doc --> 059 * @generated 060 */ 061 @Override 062 protected EClass eStaticClass() { 063 return GitLabPackage.Literals.TREE; 064 } 065 066 /** 067 * <!-- begin-user-doc --> 068 * <!-- end-user-doc --> 069 * @generated 070 */ 071 @SuppressWarnings("unchecked") 072 @Override 073 public EList<TreeItem> getTreeItems() { 074 return (EList<TreeItem>)eDynamicGet(GitLabPackage.TREE__TREE_ITEMS, NcorePackage.Literals.TREE__TREE_ITEMS, true, true); 075 } 076 077 /** 078 * <!-- begin-user-doc --> 079 * <!-- end-user-doc --> 080 * @generated 081 */ 082 @Override 083 public Date getTreeItemsLoaded() { 084 return (Date)eDynamicGet(GitLabPackage.TREE__TREE_ITEMS_LOADED, GitLabPackage.Literals.TREE__TREE_ITEMS_LOADED, true, true); 085 } 086 087 /** 088 * <!-- begin-user-doc --> 089 * <!-- end-user-doc --> 090 * @generated 091 */ 092 @Override 093 public void setTreeItemsLoaded(Date newTreeItemsLoaded) { 094 eDynamicSet(GitLabPackage.TREE__TREE_ITEMS_LOADED, GitLabPackage.Literals.TREE__TREE_ITEMS_LOADED, newTreeItemsLoaded); 095 } 096 097 /** 098 * <!-- begin-user-doc --> 099 * <!-- end-user-doc --> 100 * @generated 101 */ 102 @Override 103 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 104 switch (featureID) { 105 case GitLabPackage.TREE__TREE_ITEMS: 106 return ((InternalEList<?>)getTreeItems()).basicRemove(otherEnd, msgs); 107 } 108 return super.eInverseRemove(otherEnd, featureID, msgs); 109 } 110 111 /** 112 * <!-- begin-user-doc --> 113 * <!-- end-user-doc --> 114 * @generated 115 */ 116 @Override 117 public Object eGet(int featureID, boolean resolve, boolean coreType) { 118 switch (featureID) { 119 case GitLabPackage.TREE__TREE_ITEMS: 120 return getTreeItems(); 121 case GitLabPackage.TREE__TREE_ITEMS_LOADED: 122 return getTreeItemsLoaded(); 123 } 124 return super.eGet(featureID, resolve, coreType); 125 } 126 127 /** 128 * <!-- begin-user-doc --> 129 * <!-- end-user-doc --> 130 * @generated 131 */ 132 @SuppressWarnings("unchecked") 133 @Override 134 public void eSet(int featureID, Object newValue) { 135 switch (featureID) { 136 case GitLabPackage.TREE__TREE_ITEMS: 137 getTreeItems().clear(); 138 getTreeItems().addAll((Collection<? extends TreeItem>)newValue); 139 return; 140 case GitLabPackage.TREE__TREE_ITEMS_LOADED: 141 setTreeItemsLoaded((Date)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.TREE__TREE_ITEMS: 156 getTreeItems().clear(); 157 return; 158 case GitLabPackage.TREE__TREE_ITEMS_LOADED: 159 setTreeItemsLoaded(TREE_ITEMS_LOADED_EDEFAULT); 160 return; 161 } 162 super.eUnset(featureID); 163 } 164 165 /** 166 * <!-- begin-user-doc --> 167 * <!-- end-user-doc --> 168 * @generated 169 */ 170 @Override 171 public boolean eIsSet(int featureID) { 172 switch (featureID) { 173 case GitLabPackage.TREE__TREE_ITEMS: 174 return !getTreeItems().isEmpty(); 175 case GitLabPackage.TREE__TREE_ITEMS_LOADED: 176 return TREE_ITEMS_LOADED_EDEFAULT == null ? getTreeItemsLoaded() != null : !TREE_ITEMS_LOADED_EDEFAULT.equals(getTreeItemsLoaded()); 177 } 178 return super.eIsSet(featureID); 179 } 180 181 /** 182 * <!-- begin-user-doc --> 183 * <!-- end-user-doc --> 184 * @generated 185 */ 186 @Override 187 public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { 188 if (baseClass == org.nasdanika.ncore.Tree.class) { 189 switch (derivedFeatureID) { 190 case GitLabPackage.TREE__TREE_ITEMS: return NcorePackage.TREE__TREE_ITEMS; 191 default: return -1; 192 } 193 } 194 return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); 195 } 196 197 /** 198 * <!-- begin-user-doc --> 199 * <!-- end-user-doc --> 200 * @generated 201 */ 202 @Override 203 public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { 204 if (baseClass == org.nasdanika.ncore.Tree.class) { 205 switch (baseFeatureID) { 206 case NcorePackage.TREE__TREE_ITEMS: return GitLabPackage.TREE__TREE_ITEMS; 207 default: return -1; 208 } 209 } 210 return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); 211 } 212 213} //TreeImpl