PageRenderTime 27ms CodeModel.GetById 30ms RepoModel.GetById 1ms app.codeStats 0ms

/ngpm/de.hpi.sam.bp2009.ngpm/src/dataaccess/expressions/literals/impl/ObjectLiteralImpl.java

https://github.com/FURCAS-dev/FURCAS
Java | 251 lines | 121 code | 26 blank | 104 comment | 18 complexity | b90f413316178daa837eedc17e6404f9 MD5 | raw file
  1. /**
  2. * <copyright>
  3. * </copyright>
  4. *
  5. * $Id$
  6. */
  7. package dataaccess.expressions.literals.impl;
  8. import data.classes.SapClass;
  9. import dataaccess.expressions.impl.ExpressionImpl;
  10. import dataaccess.expressions.literals.LiteralsPackage;
  11. import dataaccess.expressions.literals.ObjectLiteral;
  12. import dataaccess.expressions.literals.ValueInit;
  13. import java.lang.reflect.InvocationTargetException;
  14. import java.util.Collection;
  15. import org.eclipse.emf.common.notify.Notification;
  16. import org.eclipse.emf.common.notify.NotificationChain;
  17. import org.eclipse.emf.common.util.BasicEList;
  18. import org.eclipse.emf.common.util.EList;
  19. import org.eclipse.emf.common.util.WrappedException;
  20. import org.eclipse.emf.ecore.EClass;
  21. import org.eclipse.emf.ecore.EOperation;
  22. import org.eclipse.emf.ecore.InternalEObject;
  23. import org.eclipse.emf.ecore.impl.ENotificationImpl;
  24. import org.eclipse.emf.ecore.util.EObjectContainmentEList;
  25. import org.eclipse.emf.ecore.util.InternalEList;
  26. /**
  27. * <!-- begin-user-doc -->
  28. * An implementation of the model object '<em><b>Object Literal</b></em>'.
  29. * <!-- end-user-doc -->
  30. * <p>
  31. * The following features are implemented:
  32. * <ul>
  33. * <li>{@link dataaccess.expressions.literals.impl.ObjectLiteralImpl#getValueClass <em>Value Class</em>}</li>
  34. * <li>{@link dataaccess.expressions.literals.impl.ObjectLiteralImpl#getPropertyValues <em>Property Values</em>}</li>
  35. * </ul>
  36. * </p>
  37. *
  38. * @generated
  39. */
  40. public class ObjectLiteralImpl extends ExpressionImpl implements ObjectLiteral {
  41. /**
  42. * The cached value of the '{@link #getValueClass() <em>Value Class</em>}' reference.
  43. * <!-- begin-user-doc -->
  44. * <!-- end-user-doc -->
  45. * @see #getValueClass()
  46. * @generated
  47. * @ordered
  48. */
  49. protected SapClass valueClass;
  50. /**
  51. * The cached value of the '{@link #getPropertyValues() <em>Property Values</em>}' containment reference list.
  52. * <!-- begin-user-doc -->
  53. * <!-- end-user-doc -->
  54. * @see #getPropertyValues()
  55. * @generated
  56. * @ordered
  57. */
  58. protected EList<ValueInit> propertyValues;
  59. /**
  60. * <!-- begin-user-doc -->
  61. * <!-- end-user-doc -->
  62. * @generated
  63. */
  64. protected ObjectLiteralImpl() {
  65. super();
  66. }
  67. /**
  68. * <!-- begin-user-doc -->
  69. * <!-- end-user-doc -->
  70. * @generated
  71. */
  72. @Override
  73. protected EClass eStaticClass() {
  74. return LiteralsPackage.Literals.OBJECT_LITERAL;
  75. }
  76. /**
  77. * <!-- begin-user-doc -->
  78. * <!-- end-user-doc -->
  79. * @generated
  80. */
  81. public SapClass getValueClass() {
  82. if (valueClass != null && valueClass.eIsProxy()) {
  83. InternalEObject oldValueClass = (InternalEObject)valueClass;
  84. valueClass = (SapClass)eResolveProxy(oldValueClass);
  85. if (valueClass != oldValueClass) {
  86. if (eNotificationRequired())
  87. eNotify(new ENotificationImpl(this, Notification.RESOLVE, LiteralsPackage.OBJECT_LITERAL__VALUE_CLASS, oldValueClass, valueClass));
  88. }
  89. }
  90. return valueClass;
  91. }
  92. /**
  93. * <!-- begin-user-doc -->
  94. * <!-- end-user-doc -->
  95. * @generated
  96. */
  97. public SapClass basicGetValueClass() {
  98. return valueClass;
  99. }
  100. /**
  101. * <!-- begin-user-doc -->
  102. * <!-- end-user-doc -->
  103. * @generated
  104. */
  105. public void setValueClass(SapClass newValueClass) {
  106. SapClass oldValueClass = valueClass;
  107. valueClass = newValueClass;
  108. if (eNotificationRequired())
  109. eNotify(new ENotificationImpl(this, Notification.SET, LiteralsPackage.OBJECT_LITERAL__VALUE_CLASS, oldValueClass, valueClass));
  110. }
  111. /**
  112. * <!-- begin-user-doc -->
  113. * <!-- end-user-doc -->
  114. * @generated
  115. */
  116. public EList<ValueInit> getPropertyValues() {
  117. if (propertyValues == null) {
  118. propertyValues = new EObjectContainmentEList.Resolving<ValueInit>(ValueInit.class, this, LiteralsPackage.OBJECT_LITERAL__PROPERTY_VALUES);
  119. }
  120. return propertyValues;
  121. }
  122. /**
  123. * The cached invocation delegate for the '{@link #isEqualTo(dataaccess.expressions.literals.ObjectLiteral) <em>Is Equal To</em>}' operation.
  124. * <!-- begin-user-doc -->
  125. * <!-- end-user-doc -->
  126. * @see #isEqualTo(dataaccess.expressions.literals.ObjectLiteral)
  127. * @generated
  128. * @ordered
  129. */
  130. protected static final EOperation.Internal.InvocationDelegate IS_EQUAL_TO_OBJECT_LITERAL__EINVOCATION_DELEGATE = ((EOperation.Internal)LiteralsPackage.Literals.OBJECT_LITERAL.getEOperations().get(0)).getInvocationDelegate();
  131. /**
  132. * <!-- begin-user-doc -->
  133. * <!-- end-user-doc -->
  134. * @generated
  135. */
  136. public boolean isEqualTo(ObjectLiteral o) {
  137. try {
  138. Boolean result = (Boolean) IS_EQUAL_TO_OBJECT_LITERAL__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[]{o}));
  139. return result;
  140. }
  141. catch (InvocationTargetException ite) {
  142. throw new WrappedException(ite);
  143. }
  144. }
  145. /**
  146. * <!-- begin-user-doc -->
  147. * <!-- end-user-doc -->
  148. * @generated
  149. */
  150. @Override
  151. public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
  152. switch (featureID) {
  153. case LiteralsPackage.OBJECT_LITERAL__PROPERTY_VALUES:
  154. return ((InternalEList<?>)getPropertyValues()).basicRemove(otherEnd, msgs);
  155. }
  156. return super.eInverseRemove(otherEnd, featureID, msgs);
  157. }
  158. /**
  159. * <!-- begin-user-doc -->
  160. * <!-- end-user-doc -->
  161. * @generated
  162. */
  163. @Override
  164. public Object eGet(int featureID, boolean resolve, boolean coreType) {
  165. switch (featureID) {
  166. case LiteralsPackage.OBJECT_LITERAL__VALUE_CLASS:
  167. if (resolve) return getValueClass();
  168. return basicGetValueClass();
  169. case LiteralsPackage.OBJECT_LITERAL__PROPERTY_VALUES:
  170. return getPropertyValues();
  171. }
  172. return super.eGet(featureID, resolve, coreType);
  173. }
  174. /**
  175. * <!-- begin-user-doc -->
  176. * <!-- end-user-doc -->
  177. * @generated
  178. */
  179. @SuppressWarnings("unchecked")
  180. @Override
  181. public void eSet(int featureID, Object newValue) {
  182. switch (featureID) {
  183. case LiteralsPackage.OBJECT_LITERAL__VALUE_CLASS:
  184. setValueClass((SapClass)newValue);
  185. return;
  186. case LiteralsPackage.OBJECT_LITERAL__PROPERTY_VALUES:
  187. getPropertyValues().clear();
  188. getPropertyValues().addAll((Collection<? extends ValueInit>)newValue);
  189. return;
  190. }
  191. super.eSet(featureID, newValue);
  192. }
  193. /**
  194. * <!-- begin-user-doc -->
  195. * <!-- end-user-doc -->
  196. * @generated
  197. */
  198. @Override
  199. public void eUnset(int featureID) {
  200. switch (featureID) {
  201. case LiteralsPackage.OBJECT_LITERAL__VALUE_CLASS:
  202. setValueClass((SapClass)null);
  203. return;
  204. case LiteralsPackage.OBJECT_LITERAL__PROPERTY_VALUES:
  205. getPropertyValues().clear();
  206. return;
  207. }
  208. super.eUnset(featureID);
  209. }
  210. /**
  211. * <!-- begin-user-doc -->
  212. * <!-- end-user-doc -->
  213. * @generated
  214. */
  215. @Override
  216. public boolean eIsSet(int featureID) {
  217. switch (featureID) {
  218. case LiteralsPackage.OBJECT_LITERAL__VALUE_CLASS:
  219. return valueClass != null;
  220. case LiteralsPackage.OBJECT_LITERAL__PROPERTY_VALUES:
  221. return propertyValues != null && !propertyValues.isEmpty();
  222. }
  223. return super.eIsSet(featureID);
  224. }
  225. } //ObjectLiteralImpl