a b/src/main/java/genericbcm/impl/LogicalGroupImpl.java
1
/**
2
 */
3
package genericbcm.impl;
4
5
import genericbcm.GenericbcmPackage;
6
import genericbcm.LogicalGroup;
7
import genericbcm.LogicalGroupMemberLink;
8
9
import java.util.Collection;
10
11
import org.eclipse.emf.common.notify.NotificationChain;
12
13
import org.eclipse.emf.common.util.EList;
14
15
import org.eclipse.emf.ecore.EClass;
16
import org.eclipse.emf.ecore.InternalEObject;
17
18
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19
import org.eclipse.emf.ecore.util.InternalEList;
20
21
/**
22
 * <!-- begin-user-doc -->
23
 * An implementation of the model object '<em><b>Logical Group</b></em>'.
24
 * <!-- end-user-doc -->
25
 * <p>
26
 * The following features are implemented:
27
 * <ul>
28
 *   <li>{@link genericbcm.impl.LogicalGroupImpl#getMembers <em>Members</em>}</li>
29
 * </ul>
30
 * </p>
31
 *
32
 * @generated
33
 */
34
public abstract class LogicalGroupImpl extends UnitImpl implements LogicalGroup {
35
  /**
36
   * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list.
37
   * <!-- begin-user-doc -->
38
   * <!-- end-user-doc -->
39
   * @see #getMembers()
40
   * @generated
41
   * @ordered
42
   */
43
  protected EList<LogicalGroupMemberLink> members;
44
45
  /**
46
   * <!-- begin-user-doc -->
47
   * <!-- end-user-doc -->
48
   * @generated
49
   */
50
  protected LogicalGroupImpl() {
51
      super();
52
  }
53
54
  /**
55
   * <!-- begin-user-doc -->
56
   * <!-- end-user-doc -->
57
   * @generated
58
   */
59
  @Override
60
  protected EClass eStaticClass() {
61
      return GenericbcmPackage.Literals.LOGICAL_GROUP;
62
  }
63
64
  /**
65
   * <!-- begin-user-doc -->
66
   * <!-- end-user-doc -->
67
   * @generated
68
   */
69
  public EList<LogicalGroupMemberLink> getMembers() {
70
      if (members == null) {
71
          members = new EObjectContainmentEList<LogicalGroupMemberLink>(LogicalGroupMemberLink.class, this, GenericbcmPackage.LOGICAL_GROUP__MEMBERS);
72
      }
73
      return members;
74
  }
75
76
  /**
77
   * <!-- begin-user-doc -->
78
   * <!-- end-user-doc -->
79
   * @generated
80
   */
81
  @Override
82
  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
83
      switch (featureID) {
84
          case GenericbcmPackage.LOGICAL_GROUP__MEMBERS:
85
              return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, msgs);
86
      }
87
      return super.eInverseRemove(otherEnd, featureID, msgs);
88
  }
89
90
  /**
91
   * <!-- begin-user-doc -->
92
   * <!-- end-user-doc -->
93
   * @generated
94
   */
95
  @Override
96
  public Object eGet(int featureID, boolean resolve, boolean coreType) {
97
      switch (featureID) {
98
          case GenericbcmPackage.LOGICAL_GROUP__MEMBERS:
99
              return getMembers();
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 GenericbcmPackage.LOGICAL_GROUP__MEMBERS:
114
              getMembers().clear();
115
              getMembers().addAll((Collection<? extends LogicalGroupMemberLink>)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 GenericbcmPackage.LOGICAL_GROUP__MEMBERS:
130
              getMembers().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 GenericbcmPackage.LOGICAL_GROUP__MEMBERS:
145
              return members != null && !members.isEmpty();
146
      }
147
      return super.eIsSet(featureID);
148
  }
149
150
} //LogicalGroupImpl