TypesLibraryImpl.java
Go to the documentation of this file.
00001 
00007 package org.best_of_robotics.model.datatypes.impl;
00008 
00009 import java.lang.String;
00010 import java.util.Collection;
00011 
00012 import org.best_of_robotics.model.datatypes.DataType;
00013 import org.best_of_robotics.model.datatypes.Bool;
00014 import org.best_of_robotics.model.datatypes.Char;
00015 import org.best_of_robotics.model.datatypes.ComplexType;
00016 import org.best_of_robotics.model.datatypes.DatatypesPackage;
00017 import org.best_of_robotics.model.datatypes.Int;
00018 import org.best_of_robotics.model.datatypes.TypesLibrary;
00019 import org.best_of_robotics.model.datatypes.UnsignedChar;
00020 import org.best_of_robotics.model.datatypes.UnsignedInt;
00021 import org.best_of_robotics.model.datatypes.UnsignedLong;
00022 import org.best_of_robotics.model.datatypes.UnsignedShort;
00023 import org.eclipse.emf.common.notify.Notification;
00024 import org.eclipse.emf.common.notify.NotificationChain;
00025 import org.eclipse.emf.common.util.EList;
00026 import org.eclipse.emf.ecore.EClass;
00027 import org.eclipse.emf.ecore.InternalEObject;
00028 import org.eclipse.emf.ecore.impl.ENotificationImpl;
00029 import org.eclipse.emf.ecore.impl.EObjectImpl;
00030 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
00031 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
00032 import org.eclipse.emf.ecore.util.EObjectResolvingEList;
00033 import org.eclipse.emf.ecore.util.InternalEList;
00034 
00050 public class TypesLibraryImpl extends EObjectImpl implements TypesLibrary {
00059         protected EList<DataType> types;
00060 
00069         protected static final String NAME_EDEFAULT = null;
00070 
00079         protected String name = NAME_EDEFAULT;
00080 
00089         protected EList<TypesLibrary> includes;
00090 
00096         protected TypesLibraryImpl() {
00097                 super();
00098         }
00099 
00105         @Override
00106         protected EClass eStaticClass() {
00107                 return DatatypesPackage.Literals.TYPES_LIBRARY;
00108         }
00109 
00115         public EList<DataType> getTypes() {
00116                 if (types == null) {
00117                         types = new EObjectContainmentWithInverseEList<DataType>(DataType.class, this, DatatypesPackage.TYPES_LIBRARY__TYPES, DatatypesPackage.DATA_TYPE__TYPES_LIBRARY);
00118                 }
00119                 return types;
00120         }
00121 
00127         public String getName() {
00128                 return name;
00129         }
00130 
00136         public void setName(String newName) {
00137                 String oldName = name;
00138                 name = newName;
00139                 if (eNotificationRequired())
00140                         eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.TYPES_LIBRARY__NAME, oldName, name));
00141         }
00142 
00148         public EList<TypesLibrary> getIncludes() {
00149                 if (includes == null) {
00150                         includes = new EObjectResolvingEList<TypesLibrary>(TypesLibrary.class, this, DatatypesPackage.TYPES_LIBRARY__INCLUDES);
00151                 }
00152                 return includes;
00153         }
00154 
00160         @SuppressWarnings("unchecked")
00161         @Override
00162         public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
00163                 switch (featureID) {
00164                         case DatatypesPackage.TYPES_LIBRARY__TYPES:
00165                                 return ((InternalEList<InternalEObject>)(InternalEList<?>)getTypes()).basicAdd(otherEnd, msgs);
00166                 }
00167                 return super.eInverseAdd(otherEnd, featureID, msgs);
00168         }
00169 
00175         @Override
00176         public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
00177                 switch (featureID) {
00178                         case DatatypesPackage.TYPES_LIBRARY__TYPES:
00179                                 return ((InternalEList<?>)getTypes()).basicRemove(otherEnd, msgs);
00180                 }
00181                 return super.eInverseRemove(otherEnd, featureID, msgs);
00182         }
00183 
00189         @Override
00190         public Object eGet(int featureID, boolean resolve, boolean coreType) {
00191                 switch (featureID) {
00192                         case DatatypesPackage.TYPES_LIBRARY__TYPES:
00193                                 return getTypes();
00194                         case DatatypesPackage.TYPES_LIBRARY__NAME:
00195                                 return getName();
00196                         case DatatypesPackage.TYPES_LIBRARY__INCLUDES:
00197                                 return getIncludes();
00198                 }
00199                 return super.eGet(featureID, resolve, coreType);
00200         }
00201 
00207         @SuppressWarnings("unchecked")
00208         @Override
00209         public void eSet(int featureID, Object newValue) {
00210                 switch (featureID) {
00211                         case DatatypesPackage.TYPES_LIBRARY__TYPES:
00212                                 getTypes().clear();
00213                                 getTypes().addAll((Collection<? extends DataType>)newValue);
00214                                 return;
00215                         case DatatypesPackage.TYPES_LIBRARY__NAME:
00216                                 setName((String)newValue);
00217                                 return;
00218                         case DatatypesPackage.TYPES_LIBRARY__INCLUDES:
00219                                 getIncludes().clear();
00220                                 getIncludes().addAll((Collection<? extends TypesLibrary>)newValue);
00221                                 return;
00222                 }
00223                 super.eSet(featureID, newValue);
00224         }
00225 
00231         @Override
00232         public void eUnset(int featureID) {
00233                 switch (featureID) {
00234                         case DatatypesPackage.TYPES_LIBRARY__TYPES:
00235                                 getTypes().clear();
00236                                 return;
00237                         case DatatypesPackage.TYPES_LIBRARY__NAME:
00238                                 setName(NAME_EDEFAULT);
00239                                 return;
00240                         case DatatypesPackage.TYPES_LIBRARY__INCLUDES:
00241                                 getIncludes().clear();
00242                                 return;
00243                 }
00244                 super.eUnset(featureID);
00245         }
00246 
00252         @Override
00253         public boolean eIsSet(int featureID) {
00254                 switch (featureID) {
00255                         case DatatypesPackage.TYPES_LIBRARY__TYPES:
00256                                 return types != null && !types.isEmpty();
00257                         case DatatypesPackage.TYPES_LIBRARY__NAME:
00258                                 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
00259                         case DatatypesPackage.TYPES_LIBRARY__INCLUDES:
00260                                 return includes != null && !includes.isEmpty();
00261                 }
00262                 return super.eIsSet(featureID);
00263         }
00264 
00270         @Override
00271         public String toString() {
00272                 if (eIsProxy()) return super.toString();
00273 
00274                 StringBuffer result = new StringBuffer(super.toString());
00275                 result.append(" (name: ");
00276                 result.append(name);
00277                 result.append(')');
00278                 return result.toString();
00279         }
00280 
00281 } //TypesLibraryImpl


bride_plugin_source
Author(s): Alexander Bubeck
autogenerated on Sun Oct 5 2014 22:38:34