Skip to content

Package: VRuleEntryImpl

VRuleEntryImpl

nameinstructionbranchcomplexitylinemethod
VRuleEntryImpl()
M: 9 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
basicSetRule(Rule, NotificationChain)
M: 29 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%
eGet(int, boolean, boolean)
M: 20 C: 0
0%
M: 5 C: 0
0%
M: 5 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
eInverseRemove(InternalEObject, int, NotificationChain)
M: 13 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
eIsSet(int)
M: 50 C: 0
0%
M: 19 C: 0
0%
M: 12 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
eSet(int, Object)
M: 32 C: 0
0%
M: 5 C: 0
0%
M: 5 C: 0
0%
M: 12 C: 0
0%
M: 1 C: 0
0%
eStaticClass()
M: 2 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
eUnset(int)
M: 22 C: 0
0%
M: 5 C: 0
0%
M: 5 C: 0
0%
M: 11 C: 0
0%
M: 1 C: 0
0%
getElements()
M: 14 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
getMergeType()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getName()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getRule()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
setMergeType(MergeType)
M: 25 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
setName(String)
M: 21 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
setRule(Rule)
M: 52 C: 0
0%
M: 10 C: 0
0%
M: 6 C: 0
0%
M: 15 C: 0
0%
M: 1 C: 0
0%
static {...}
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
toString()
M: 37 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /**
2: * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * Eugen Neufeld - initial API and implementation
13: */
14: package org.eclipse.emfforms.spi.rulerepository.model.impl;
15:
16: import java.util.Collection;
17:
18: import org.eclipse.emf.common.notify.Notification;
19: import org.eclipse.emf.common.notify.NotificationChain;
20: import org.eclipse.emf.common.util.EList;
21: import org.eclipse.emf.ecore.EClass;
22: import org.eclipse.emf.ecore.InternalEObject;
23: import org.eclipse.emf.ecore.impl.ENotificationImpl;
24: import org.eclipse.emf.ecore.impl.EObjectImpl;
25: import org.eclipse.emf.ecore.util.EObjectResolvingEList;
26: import org.eclipse.emf.ecp.view.spi.model.VElement;
27: import org.eclipse.emf.ecp.view.spi.rule.model.Rule;
28: import org.eclipse.emfforms.spi.rulerepository.model.MergeType;
29: import org.eclipse.emfforms.spi.rulerepository.model.VRuleEntry;
30: import org.eclipse.emfforms.spi.rulerepository.model.VRulerepositoryPackage;
31:
32: /**
33: * <!-- begin-user-doc --> An implementation of the model object '
34: * <em><b>Rule Entry</b></em>'. <!-- end-user-doc -->
35: * <p>
36: * The following features are implemented:
37: * </p>
38: * <ul>
39: * <li>{@link org.eclipse.emfforms.spi.rulerepository.model.impl.VRuleEntryImpl#getName <em>Name</em>}</li>
40: * <li>{@link org.eclipse.emfforms.spi.rulerepository.model.impl.VRuleEntryImpl#getRule <em>Rule</em>}</li>
41: * <li>{@link org.eclipse.emfforms.spi.rulerepository.model.impl.VRuleEntryImpl#getElements <em>Elements</em>}</li>
42: * <li>{@link org.eclipse.emfforms.spi.rulerepository.model.impl.VRuleEntryImpl#getMergeType <em>Merge Type</em>}</li>
43: * </ul>
44: *
45: * @generated
46: */
47: public class VRuleEntryImpl extends EObjectImpl implements VRuleEntry {
48:         /**
49:          * The default value of the '{@link #getName() <em>Name</em>}' attribute.
50:          * <!-- begin-user-doc -->
51:          * <!-- end-user-doc -->
52:          *
53:          * @see #getName()
54:          * @generated
55:          * @ordered
56:          */
57:         protected static final String NAME_EDEFAULT = null;
58:
59:         /**
60:          * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
61:          * <!-- begin-user-doc -->
62:          * <!-- end-user-doc -->
63:          *
64:          * @see #getName()
65:          * @generated
66:          * @ordered
67:          */
68:         protected String name = NAME_EDEFAULT;
69:
70:         /**
71:          * The cached value of the '{@link #getRule() <em>Rule</em>}' containment reference.
72:          * <!-- begin-user-doc --> <!-- end-user-doc -->
73:          *
74:          * @see #getRule()
75:          * @generated
76:          * @ordered
77:          */
78:         protected Rule rule;
79:
80:         /**
81:          * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
82:          * <!-- begin-user-doc --> <!-- end-user-doc -->
83:          *
84:          * @see #getElements()
85:          * @generated
86:          * @ordered
87:          */
88:         protected EList<VElement> elements;
89:
90:         /**
91:          * The default value of the '{@link #getMergeType() <em>Merge Type</em>}' attribute.
92:          * <!-- begin-user-doc -->
93:          * <!-- end-user-doc -->
94:          *
95:          * @see #getMergeType()
96:          * @generated
97:          * @ordered
98:          */
99:         protected static final MergeType MERGE_TYPE_EDEFAULT = MergeType.OR;
100:
101:         /**
102:          * The cached value of the '{@link #getMergeType() <em>Merge Type</em>}' attribute.
103:          * <!-- begin-user-doc -->
104:          * <!-- end-user-doc -->
105:          *
106:          * @see #getMergeType()
107:          * @generated
108:          * @ordered
109:          */
110:         protected MergeType mergeType = MERGE_TYPE_EDEFAULT;
111:
112:         /**
113:          * <!-- begin-user-doc --> <!-- end-user-doc -->
114:          *
115:          * @generated
116:          */
117:         protected VRuleEntryImpl() {
118:                 super();
119:         }
120:
121:         /**
122:          * <!-- begin-user-doc --> <!-- end-user-doc -->
123:          *
124:          * @generated
125:          */
126:         @Override
127:         protected EClass eStaticClass() {
128:                 return VRulerepositoryPackage.Literals.RULE_ENTRY;
129:         }
130:
131:         /**
132:          * <!-- begin-user-doc -->
133:          * <!-- end-user-doc -->
134:          *
135:          * @generated
136:          */
137:         @Override
138:         public String getName() {
139:                 return name;
140:         }
141:
142:         /**
143:          * <!-- begin-user-doc -->
144:          * <!-- end-user-doc -->
145:          *
146:          * @generated
147:          */
148:         @Override
149:         public void setName(String newName) {
150:                 final String oldName = name;
151:                 name = newName;
152:•                if (eNotificationRequired()) {
153:                         eNotify(
154:                                 new ENotificationImpl(this, Notification.SET, VRulerepositoryPackage.RULE_ENTRY__NAME, oldName, name));
155:                 }
156:         }
157:
158:         /**
159:          * <!-- begin-user-doc --> <!-- end-user-doc -->
160:          *
161:          * @generated
162:          */
163:         @Override
164:         public Rule getRule() {
165:                 return rule;
166:         }
167:
168:         /**
169:          * <!-- begin-user-doc --> <!-- end-user-doc -->
170:          *
171:          * @generated
172:          */
173:         public NotificationChain basicSetRule(Rule newRule, NotificationChain msgs) {
174:                 final Rule oldRule = rule;
175:                 rule = newRule;
176:•                if (eNotificationRequired()) {
177:                         final ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
178:                                 VRulerepositoryPackage.RULE_ENTRY__RULE, oldRule, newRule);
179:•                        if (msgs == null) {
180:                                 msgs = notification;
181:                         } else {
182:                                 msgs.add(notification);
183:                         }
184:                 }
185:                 return msgs;
186:         }
187:
188:         /**
189:          * <!-- begin-user-doc --> <!-- end-user-doc -->
190:          *
191:          * @generated
192:          */
193:         @Override
194:         public void setRule(Rule newRule) {
195:•                if (newRule != rule) {
196:                         NotificationChain msgs = null;
197:•                        if (rule != null) {
198:                                 msgs = ((InternalEObject) rule).eInverseRemove(this,
199:                                         EOPPOSITE_FEATURE_BASE - VRulerepositoryPackage.RULE_ENTRY__RULE, null, msgs);
200:                         }
201:•                        if (newRule != null) {
202:                                 msgs = ((InternalEObject) newRule).eInverseAdd(this,
203:                                         EOPPOSITE_FEATURE_BASE - VRulerepositoryPackage.RULE_ENTRY__RULE, null, msgs);
204:                         }
205:                         msgs = basicSetRule(newRule, msgs);
206:•                        if (msgs != null) {
207:                                 msgs.dispatch();
208:                         }
209:•                } else if (eNotificationRequired()) {
210:                         eNotify(new ENotificationImpl(this, Notification.SET, VRulerepositoryPackage.RULE_ENTRY__RULE, newRule,
211:                                 newRule));
212:                 }
213:         }
214:
215:         /**
216:          * <!-- begin-user-doc --> <!-- end-user-doc -->
217:          *
218:          * @generated
219:          */
220:         @Override
221:         public EList<VElement> getElements() {
222:•                if (elements == null) {
223:                         elements = new EObjectResolvingEList<VElement>(VElement.class, this,
224:                                 VRulerepositoryPackage.RULE_ENTRY__ELEMENTS);
225:                 }
226:                 return elements;
227:         }
228:
229:         /**
230:          * <!-- begin-user-doc -->
231:          * <!-- end-user-doc -->
232:          *
233:          * @generated
234:          */
235:         @Override
236:         public MergeType getMergeType() {
237:                 return mergeType;
238:         }
239:
240:         /**
241:          * <!-- begin-user-doc -->
242:          * <!-- end-user-doc -->
243:          *
244:          * @generated
245:          */
246:         @Override
247:         public void setMergeType(MergeType newMergeType) {
248:                 final MergeType oldMergeType = mergeType;
249:•                mergeType = newMergeType == null ? MERGE_TYPE_EDEFAULT : newMergeType;
250:•                if (eNotificationRequired()) {
251:                         eNotify(new ENotificationImpl(this, Notification.SET, VRulerepositoryPackage.RULE_ENTRY__MERGE_TYPE,
252:                                 oldMergeType, mergeType));
253:                 }
254:         }
255:
256:         /**
257:          * <!-- begin-user-doc --> <!-- end-user-doc -->
258:          *
259:          * @generated
260:          */
261:         @Override
262:         public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
263:•                switch (featureID) {
264:                 case VRulerepositoryPackage.RULE_ENTRY__RULE:
265:                         return basicSetRule(null, msgs);
266:                 }
267:                 return super.eInverseRemove(otherEnd, featureID, msgs);
268:         }
269:
270:         /**
271:          * <!-- begin-user-doc --> <!-- end-user-doc -->
272:          *
273:          * @generated
274:          */
275:         @Override
276:         public Object eGet(int featureID, boolean resolve, boolean coreType) {
277:•                switch (featureID) {
278:                 case VRulerepositoryPackage.RULE_ENTRY__NAME:
279:                         return getName();
280:                 case VRulerepositoryPackage.RULE_ENTRY__RULE:
281:                         return getRule();
282:                 case VRulerepositoryPackage.RULE_ENTRY__ELEMENTS:
283:                         return getElements();
284:                 case VRulerepositoryPackage.RULE_ENTRY__MERGE_TYPE:
285:                         return getMergeType();
286:                 }
287:                 return super.eGet(featureID, resolve, coreType);
288:         }
289:
290:         /**
291:          * <!-- begin-user-doc --> <!-- end-user-doc -->
292:          *
293:          * @generated
294:          */
295:         @SuppressWarnings("unchecked")
296:         @Override
297:         public void eSet(int featureID, Object newValue) {
298:•                switch (featureID) {
299:                 case VRulerepositoryPackage.RULE_ENTRY__NAME:
300:                         setName((String) newValue);
301:                         return;
302:                 case VRulerepositoryPackage.RULE_ENTRY__RULE:
303:                         setRule((Rule) newValue);
304:                         return;
305:                 case VRulerepositoryPackage.RULE_ENTRY__ELEMENTS:
306:                         getElements().clear();
307:                         getElements().addAll((Collection<? extends VElement>) newValue);
308:                         return;
309:                 case VRulerepositoryPackage.RULE_ENTRY__MERGE_TYPE:
310:                         setMergeType((MergeType) newValue);
311:                         return;
312:                 }
313:                 super.eSet(featureID, newValue);
314:         }
315:
316:         /**
317:          * <!-- begin-user-doc --> <!-- end-user-doc -->
318:          *
319:          * @generated
320:          */
321:         @Override
322:         public void eUnset(int featureID) {
323:•                switch (featureID) {
324:                 case VRulerepositoryPackage.RULE_ENTRY__NAME:
325:                         setName(NAME_EDEFAULT);
326:                         return;
327:                 case VRulerepositoryPackage.RULE_ENTRY__RULE:
328:                         setRule((Rule) null);
329:                         return;
330:                 case VRulerepositoryPackage.RULE_ENTRY__ELEMENTS:
331:                         getElements().clear();
332:                         return;
333:                 case VRulerepositoryPackage.RULE_ENTRY__MERGE_TYPE:
334:                         setMergeType(MERGE_TYPE_EDEFAULT);
335:                         return;
336:                 }
337:                 super.eUnset(featureID);
338:         }
339:
340:         /**
341:          * <!-- begin-user-doc --> <!-- end-user-doc -->
342:          *
343:          * @generated
344:          */
345:         @Override
346:         public boolean eIsSet(int featureID) {
347:•                switch (featureID) {
348:                 case VRulerepositoryPackage.RULE_ENTRY__NAME:
349:•                        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
350:                 case VRulerepositoryPackage.RULE_ENTRY__RULE:
351:•                        return rule != null;
352:                 case VRulerepositoryPackage.RULE_ENTRY__ELEMENTS:
353:•                        return elements != null && !elements.isEmpty();
354:                 case VRulerepositoryPackage.RULE_ENTRY__MERGE_TYPE:
355:•                        return mergeType != MERGE_TYPE_EDEFAULT;
356:                 }
357:                 return super.eIsSet(featureID);
358:         }
359:
360:         /**
361:          * <!-- begin-user-doc -->
362:          * <!-- end-user-doc -->
363:          *
364:          * @generated
365:          */
366:         @Override
367:         public String toString() {
368:•                if (eIsProxy()) {
369:                         return super.toString();
370:                 }
371:
372:                 final StringBuffer result = new StringBuffer(super.toString());
373:                 result.append(" (name: "); //$NON-NLS-1$
374:                 result.append(name);
375:                 result.append(", mergeType: "); //$NON-NLS-1$
376:                 result.append(mergeType);
377:                 result.append(')');
378:                 return result.toString();
379:         }
380:
381: } // VRuleEntryImpl