1 | protected boolean eIsCaching()↵ | | 1 | protected boolean eIsCaching()↵
|
2 | {↵ | | 2 | {↵
|
3 | return true;↵ | | 3 | return true;↵
|
4 | }↵ | | 4 | }↵
|
|
5 | @Override↵ | | |
|
6 | public Object dynamicGet(int dynamicFeatureID)↵ | | 5 | public Object dynamicGet(int dynamicFeatureID)↵
|
7 | {↵ | | 6 | {↵
|
8 | Object result = eSettings[dynamicFeatureID];↵ | | 7 | Object result = eSettings[dynamicFeatureID];↵
|
9 | if (result == null)↵ | | 8 | if (result == null)↵
|
10 | {↵ | | 9 | {↵
|
11 | EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);↵ | | 10 | EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);↵
|
12 | if (!eStructuralFeature.isTransient())↵ | | 11 | if (!eStructuralFeature.isTransient())↵
|
13 | {↵ | | 12 | {↵
|
14 | if (FeatureMapUtil.isFeatureMap(eStructuralFeature))↵ | | 13 | if (FeatureMapUtil.isFeatureMap(eStructuralFeature))↵
|
15 | {↵ | | 14 | {↵
|
16 | eSettings[dynamicFeatureID] = result = createFeatureMap(eStructuralFeature);↵ | | 15 | eSettings[dynamicFeatureID] = result = createFeatureMap(eStructuralFeature);↵
|
17 | }↵ | | 16 | }↵
|
18 | else if (eStructuralFeature.isMany())↵ | | 17 | else if (eStructuralFeature.isMany())↵
|
19 | {↵ | | 18 | {↵
|
20 | eSettings[dynamicFeatureID] = result = createList(eStructuralFeature);↵ | | 19 | eSettings[dynamicFeatureID] = result = createList(eStructuralFeature);↵
|
21 | }↵ | | 20 | }↵
|
22 | else↵ | | 21 | else↵
|
23 | {↵ | | 22 | {↵
|
24 | result = eStore().get(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX);↵ | | 23 | result = eStore().get(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX);↵
|
25 | if (eIsCaching())↵ | | 24 | if (eIsCaching())↵
|
26 | {↵ | | 25 | {↵
|
27 | eSettings[dynamicFeatureID] = result;↵ | | 26 | eSettings[dynamicFeatureID] = result;↵
|
28 | }↵ | | 27 | }↵
|
29 | }↵ | | 28 | }↵
|
30 | }↵ | | 29 | }↵
|
31 | }↵ | | 30 | }↵
|
32 | return result;↵ | | 31 | return result;↵
|
33 | }↵ | | 32 | }↵
|
|
34 | @Override↵ | | |
|
35 | public void dynamicSet(int dynamicFeatureID, Object value)↵ | | 33 | public void dynamicSet(int dynamicFeatureID, Object value)↵
|
36 | {↵ | | 34 | {↵
|
37 | EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);↵ | | 35 | EStructuralFeature eStructuralFeature = eDynamicFeature(dynamicFeatureID);↵
|
38 | if (eStructuralFeature.isTransient())↵ | | 36 | if (eStructuralFeature.isTransient())↵
|
39 | {↵ | | 37 | {↵
|
40 | eSettings[dynamicFeatureID] = value;↵ | | 38 | eSettings[dynamicFeatureID] = value;↵
|
41 | }↵ | | 39 | }↵
|
42 | else↵ | | 40 | else↵
|
43 | {↵ | | 41 | {↵
|
44 | eStore().set(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX, value == NIL ? null : value);↵ | | 42 | eStore().set(this, eStructuralFeature, InternalEObject.EStore.NO_INDEX, value == NIL ? null : value);↵
|
45 | if (eIsCaching())↵ | | 43 | if (eIsCaching())↵
|
46 | {↵ | | 44 | {↵
|
47 | eSettings[dynamicFeatureID] = value;↵ | | 45 | eSettings[dynamicFeatureID] = value;↵
|
48 | }↵ | | 46 | }↵
|
49 | }↵ | | 47 | }↵
|
50 | }↵ | | 48 | }↵
|
|
51 | @Override↵ | | |
|
52 | public void dynamicUnset(int dynamicFeatureID)↵ | | 49 | public void dynamicUnset(int dynamicFeatureID)↵
|
53 | {↵ | | 50 | {↵
|
54 | eStore().unset(this, eDynamicFeature(dynamicFeatureID));↵ | | 51 | eStore().unset(this, eDynamicFeature(dynamicFeatureID));↵
|
55 | eSettings[dynamicFeatureID] = null; | | 52 | eSettings[dynamicFeatureID] = null;
|