View Javadoc

1   /**
2    * <copyright>
3    * </copyright>
4    *
5    * $Id$
6    */
7   package BusinessDomainDsl.impl;
8   
9   import BusinessDomainDsl.AbstractBusinessClass;
10  import BusinessDomainDsl.Association;
11  import BusinessDomainDsl.BusinessDomainDslPackage;
12  
13  import java.util.Collection;
14  
15  import org.eclipse.emf.common.notify.NotificationChain;
16  
17  import org.eclipse.emf.common.util.EList;
18  
19  import org.eclipse.emf.ecore.EClass;
20  import org.eclipse.emf.ecore.InternalEObject;
21  
22  import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
23  import org.eclipse.emf.ecore.util.InternalEList;
24  
25  /**
26   * <!-- begin-user-doc -->
27   * An implementation of the model object '<em><b>Abstract Business Class</b></em>'.
28   * <!-- end-user-doc -->
29   * <p>
30   * The following features are implemented:
31   * <ul>
32   *   <li>{@link BusinessDomainDsl.impl.AbstractBusinessClassImpl#getAssociationsFrom <em>Associations From</em>}</li>
33   * </ul>
34   * </p>
35   *
36   * @generated
37   */
38  public class AbstractBusinessClassImpl extends AbstractTypeImpl implements AbstractBusinessClass {
39  	/**
40       * The cached value of the '{@link #getAssociationsFrom() <em>Associations From</em>}' reference list.
41       * <!-- begin-user-doc -->
42  	 * <!-- end-user-doc -->
43       * @see #getAssociationsFrom()
44       * @generated
45       * @ordered
46       */
47  	protected EList<Association> associationsFrom;
48  
49  	/**
50       * <!-- begin-user-doc -->
51  	 * <!-- end-user-doc -->
52       * @generated
53       */
54  	protected AbstractBusinessClassImpl() {
55          super();
56      }
57  
58  	/**
59       * <!-- begin-user-doc -->
60  	 * <!-- end-user-doc -->
61       * @generated
62       */
63  	@Override
64  	protected EClass eStaticClass() {
65          return BusinessDomainDslPackage.Literals.ABSTRACT_BUSINESS_CLASS;
66      }
67  
68  	/**
69       * <!-- begin-user-doc -->
70  	 * <!-- end-user-doc -->
71       * @generated
72       */
73  	public EList<Association> getAssociationsFrom() {
74          if (associationsFrom == null) {
75              associationsFrom = new EObjectWithInverseResolvingEList<Association>(Association.class, this, BusinessDomainDslPackage.ABSTRACT_BUSINESS_CLASS__ASSOCIATIONS_FROM, BusinessDomainDslPackage.ASSOCIATION__TARGET);
76          }
77          return associationsFrom;
78      }
79  
80  	/**
81       * <!-- begin-user-doc -->
82  	 * <!-- end-user-doc -->
83       * @generated
84       */
85  	@SuppressWarnings("unchecked")
86  	@Override
87  	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
88          switch (featureID) {
89              case BusinessDomainDslPackage.ABSTRACT_BUSINESS_CLASS__ASSOCIATIONS_FROM:
90                  return ((InternalEList<InternalEObject>)(InternalEList<?>)getAssociationsFrom()).basicAdd(otherEnd, msgs);
91          }
92          return super.eInverseAdd(otherEnd, featureID, msgs);
93      }
94  
95  	/**
96       * <!-- begin-user-doc -->
97  	 * <!-- end-user-doc -->
98       * @generated
99       */
100 	@Override
101 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
102         switch (featureID) {
103             case BusinessDomainDslPackage.ABSTRACT_BUSINESS_CLASS__ASSOCIATIONS_FROM:
104                 return ((InternalEList<?>)getAssociationsFrom()).basicRemove(otherEnd, msgs);
105         }
106         return super.eInverseRemove(otherEnd, featureID, msgs);
107     }
108 
109 	/**
110      * <!-- begin-user-doc -->
111 	 * <!-- end-user-doc -->
112      * @generated
113      */
114 	@Override
115 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
116         switch (featureID) {
117             case BusinessDomainDslPackage.ABSTRACT_BUSINESS_CLASS__ASSOCIATIONS_FROM:
118                 return getAssociationsFrom();
119         }
120         return super.eGet(featureID, resolve, coreType);
121     }
122 
123 	/**
124      * <!-- begin-user-doc -->
125 	 * <!-- end-user-doc -->
126      * @generated
127      */
128 	@SuppressWarnings("unchecked")
129 	@Override
130 	public void eSet(int featureID, Object newValue) {
131         switch (featureID) {
132             case BusinessDomainDslPackage.ABSTRACT_BUSINESS_CLASS__ASSOCIATIONS_FROM:
133                 getAssociationsFrom().clear();
134                 getAssociationsFrom().addAll((Collection<? extends Association>)newValue);
135                 return;
136         }
137         super.eSet(featureID, newValue);
138     }
139 
140 	/**
141      * <!-- begin-user-doc -->
142 	 * <!-- end-user-doc -->
143      * @generated
144      */
145 	@Override
146 	public void eUnset(int featureID) {
147         switch (featureID) {
148             case BusinessDomainDslPackage.ABSTRACT_BUSINESS_CLASS__ASSOCIATIONS_FROM:
149                 getAssociationsFrom().clear();
150                 return;
151         }
152         super.eUnset(featureID);
153     }
154 
155 	/**
156      * <!-- begin-user-doc -->
157 	 * <!-- end-user-doc -->
158      * @generated
159      */
160 	@Override
161 	public boolean eIsSet(int featureID) {
162         switch (featureID) {
163             case BusinessDomainDslPackage.ABSTRACT_BUSINESS_CLASS__ASSOCIATIONS_FROM:
164                 return associationsFrom != null && !associationsFrom.isEmpty();
165         }
166         return super.eIsSet(featureID);
167     }
168 
169 } //AbstractBusinessClassImpl