001/**
002 */
003package org.nasdanika.rag.model.impl;
004
005import java.util.Collection;
006
007import org.eclipse.emf.common.notify.NotificationChain;
008
009import org.eclipse.emf.common.util.EList;
010
011import org.eclipse.emf.ecore.EClass;
012import org.eclipse.emf.ecore.InternalEObject;
013
014import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
015
016import org.eclipse.emf.ecore.util.InternalEList;
017
018import org.nasdanika.rag.model.FloatVectorStringItem;
019import org.nasdanika.rag.model.FloatVectorStringStore;
020import org.nasdanika.rag.model.RagPackage;
021
022/**
023 * <!-- begin-user-doc -->
024 * An implementation of the model object '<em><b>Float Vector String Store</b></em>'.
025 * <!-- end-user-doc -->
026 * <p>
027 * The following features are implemented:
028 * </p>
029 * <ul>
030 *   <li>{@link org.nasdanika.rag.model.impl.FloatVectorStringStoreImpl#getItems <em>Items</em>}</li>
031 * </ul>
032 *
033 * @generated
034 */
035public class FloatVectorStringStoreImpl extends MinimalEObjectImpl.Container implements FloatVectorStringStore {
036        /**
037         * <!-- begin-user-doc -->
038         * <!-- end-user-doc -->
039         * @generated
040         */
041        protected FloatVectorStringStoreImpl() {
042                super();
043        }
044
045        /**
046         * <!-- begin-user-doc -->
047         * <!-- end-user-doc -->
048         * @generated
049         */
050        @Override
051        protected EClass eStaticClass() {
052                return RagPackage.Literals.FLOAT_VECTOR_STRING_STORE;
053        }
054
055        /**
056         * <!-- begin-user-doc -->
057         * <!-- end-user-doc -->
058         * @generated
059         */
060        @Override
061        protected int eStaticFeatureCount() {
062                return 0;
063        }
064
065        /**
066         * <!-- begin-user-doc -->
067         * <!-- end-user-doc -->
068         * @generated
069         */
070        @SuppressWarnings("unchecked")
071        @Override
072        public EList<FloatVectorStringItem> getItems() {
073                return (EList<FloatVectorStringItem>)eDynamicGet(RagPackage.FLOAT_VECTOR_STRING_STORE__ITEMS, RagPackage.Literals.FLOAT_VECTOR_STRING_STORE__ITEMS, true, true);
074        }
075
076        /**
077         * <!-- begin-user-doc -->
078         * <!-- end-user-doc -->
079         * @generated
080         */
081        @Override
082        public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
083                switch (featureID) {
084                        case RagPackage.FLOAT_VECTOR_STRING_STORE__ITEMS:
085                                return ((InternalEList<?>)getItems()).basicRemove(otherEnd, msgs);
086                }
087                return super.eInverseRemove(otherEnd, featureID, msgs);
088        }
089
090        /**
091         * <!-- begin-user-doc -->
092         * <!-- end-user-doc -->
093         * @generated
094         */
095        @Override
096        public Object eGet(int featureID, boolean resolve, boolean coreType) {
097                switch (featureID) {
098                        case RagPackage.FLOAT_VECTOR_STRING_STORE__ITEMS:
099                                return getItems();
100                }
101                return super.eGet(featureID, resolve, coreType);
102        }
103
104        /**
105         * <!-- begin-user-doc -->
106         * <!-- end-user-doc -->
107         * @generated
108         */
109        @SuppressWarnings("unchecked")
110        @Override
111        public void eSet(int featureID, Object newValue) {
112                switch (featureID) {
113                        case RagPackage.FLOAT_VECTOR_STRING_STORE__ITEMS:
114                                getItems().clear();
115                                getItems().addAll((Collection<? extends FloatVectorStringItem>)newValue);
116                                return;
117                }
118                super.eSet(featureID, newValue);
119        }
120
121        /**
122         * <!-- begin-user-doc -->
123         * <!-- end-user-doc -->
124         * @generated
125         */
126        @Override
127        public void eUnset(int featureID) {
128                switch (featureID) {
129                        case RagPackage.FLOAT_VECTOR_STRING_STORE__ITEMS:
130                                getItems().clear();
131                                return;
132                }
133                super.eUnset(featureID);
134        }
135
136        /**
137         * <!-- begin-user-doc -->
138         * <!-- end-user-doc -->
139         * @generated
140         */
141        @Override
142        public boolean eIsSet(int featureID) {
143                switch (featureID) {
144                        case RagPackage.FLOAT_VECTOR_STRING_STORE__ITEMS:
145                                return !getItems().isEmpty();
146                }
147                return super.eIsSet(featureID);
148        }
149
150} //FloatVectorStringStoreImpl