Skip to content

Package: TestItemProviderAdapterFactory

TestItemProviderAdapterFactory

nameinstructionbranchcomplexitylinemethod
TestItemProviderAdapterFactory()
M: 0 C: 38
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 9
100%
M: 0 C: 1
100%
adapt(Notifier, Object)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
adapt(Object, Object)
M: 21 C: 0
0%
M: 6 C: 0
0%
M: 4 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
addListener(INotifyChangedListener)
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%
createInnerObjectAdapter()
M: 0 C: 12
100%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 0 C: 3
100%
M: 0 C: 1
100%
createSimpleTestObjectAdapter()
M: 12 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
dispose()
M: 13 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 5 C: 0
0%
M: 1 C: 0
0%
fireNotifyChanged(Notification)
M: 0 C: 12
100%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 0 C: 4
100%
M: 0 C: 1
100%
getRootAdapterFactory()
M: 2 C: 7
78%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 0 C: 1
100%
M: 0 C: 1
100%
isFactoryForType(Object)
M: 0 C: 13
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
removeListener(INotifyChangedListener)
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%
setParentAdapterFactory(ComposedAdapterFactory)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: /**
2: * Copyright (c) 2011-2019 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: * Lucas Koehler - extension for EnumComboViewerRenderer_PTest
14: */
15: package org.eclipse.emf.ecp.view.core.swt.test.model.provider;
16:
17: import java.util.ArrayList;
18: import java.util.Collection;
19:
20: import org.eclipse.emf.common.notify.Adapter;
21: import org.eclipse.emf.common.notify.Notification;
22: import org.eclipse.emf.common.notify.Notifier;
23: import org.eclipse.emf.ecp.view.core.swt.test.model.util.TestAdapterFactory;
24: import org.eclipse.emf.edit.provider.ChangeNotifier;
25: import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
26: import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
27: import org.eclipse.emf.edit.provider.IChangeNotifier;
28: import org.eclipse.emf.edit.provider.IDisposable;
29: import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
30: import org.eclipse.emf.edit.provider.IItemLabelProvider;
31: import org.eclipse.emf.edit.provider.IItemPropertySource;
32: import org.eclipse.emf.edit.provider.INotifyChangedListener;
33: import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
34: import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
35:
36: /**
37: * This is the factory that is used to provide the interfaces needed to support Viewers.
38: * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged
39: * fireNotifyChanged}.
40: * The adapters also support Eclipse property sheets.
41: * Note that most of the adapters are shared among multiple instances.
42: * <!-- begin-user-doc -->
43: * <!-- end-user-doc -->
44: *
45: * @generated
46: */
47: public class TestItemProviderAdapterFactory extends TestAdapterFactory
48:         implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
49:         /**
50:          * This keeps track of the root adapter factory that delegates to this adapter factory.
51:          * <!-- begin-user-doc -->
52:          * <!-- end-user-doc -->
53:          *
54:          * @generated
55:          */
56:         protected ComposedAdapterFactory parentAdapterFactory;
57:
58:         /**
59:          * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
60:          * <!-- begin-user-doc -->
61:          * <!-- end-user-doc -->
62:          *
63:          * @generated
64:          */
65:         protected IChangeNotifier changeNotifier = new ChangeNotifier();
66:
67:         /**
68:          * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
69:          * <!-- begin-user-doc -->
70:          * <!-- end-user-doc -->
71:          *
72:          * @generated
73:          */
74:         protected Collection<Object> supportedTypes = new ArrayList<>();
75:
76:         /**
77:          * This constructs an instance.
78:          * <!-- begin-user-doc -->
79:          * <!-- end-user-doc -->
80:          *
81:          * @generated
82:          */
83:         public TestItemProviderAdapterFactory() {
84:                 supportedTypes.add(IEditingDomainItemProvider.class);
85:                 supportedTypes.add(IStructuredItemContentProvider.class);
86:                 supportedTypes.add(ITreeItemContentProvider.class);
87:                 supportedTypes.add(IItemLabelProvider.class);
88:                 supportedTypes.add(IItemPropertySource.class);
89:         }
90:
91:         /**
92:          * This keeps track of the one adapter used for all
93:          * {@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject} instances.
94:          * <!-- begin-user-doc -->
95:          * <!-- end-user-doc -->
96:          *
97:          * @generated
98:          */
99:         protected SimpleTestObjectItemProvider simpleTestObjectItemProvider;
100:
101:         /**
102:          * This creates an adapter for a {@link org.eclipse.emf.ecp.view.core.swt.test.model.SimpleTestObject}.
103:          * <!-- begin-user-doc -->
104:          * <!-- end-user-doc -->
105:          *
106:          * @generated
107:          */
108:         @Override
109:         public Adapter createSimpleTestObjectAdapter() {
110:•                if (simpleTestObjectItemProvider == null) {
111:                         simpleTestObjectItemProvider = new SimpleTestObjectItemProvider(this);
112:                 }
113:
114:                 return simpleTestObjectItemProvider;
115:         }
116:
117:         /**
118:          * This keeps track of the one adapter used for all {@link org.eclipse.emf.ecp.view.core.swt.test.model.InnerObject}
119:          * instances.
120:          * <!-- begin-user-doc -->
121:          * <!-- end-user-doc -->
122:          *
123:          * @generated
124:          */
125:         protected InnerObjectItemProvider innerObjectItemProvider;
126:
127:         /**
128:          * This creates an adapter for a {@link org.eclipse.emf.ecp.view.core.swt.test.model.InnerObject}.
129:          * <!-- begin-user-doc -->
130:          * <!-- end-user-doc -->
131:          *
132:          * @generated
133:          */
134:         @Override
135:         public Adapter createInnerObjectAdapter() {
136:•                if (innerObjectItemProvider == null) {
137:                         innerObjectItemProvider = new InnerObjectItemProvider(this);
138:                 }
139:
140:                 return innerObjectItemProvider;
141:         }
142:
143:         /**
144:          * This returns the root adapter factory that contains this factory.
145:          * <!-- begin-user-doc -->
146:          * <!-- end-user-doc -->
147:          *
148:          * @generated
149:          */
150:         @Override
151:         public ComposeableAdapterFactory getRootAdapterFactory() {
152:•                return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
153:         }
154:
155:         /**
156:          * This sets the composed adapter factory that contains this factory.
157:          * <!-- begin-user-doc -->
158:          * <!-- end-user-doc -->
159:          *
160:          * @generated
161:          */
162:         @Override
163:         public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
164:                 this.parentAdapterFactory = parentAdapterFactory;
165:         }
166:
167:         /**
168:          * <!-- begin-user-doc -->
169:          * <!-- end-user-doc -->
170:          *
171:          * @generated
172:          */
173:         @Override
174:         public boolean isFactoryForType(Object type) {
175:•                return supportedTypes.contains(type) || super.isFactoryForType(type);
176:         }
177:
178:         /**
179:          * This implementation substitutes the factory itself as the key for the adapter.
180:          * <!-- begin-user-doc -->
181:          * <!-- end-user-doc -->
182:          *
183:          * @generated
184:          */
185:         @Override
186:         public Adapter adapt(Notifier notifier, Object type) {
187:                 return super.adapt(notifier, this);
188:         }
189:
190:         /**
191:          * <!-- begin-user-doc -->
192:          * <!-- end-user-doc -->
193:          *
194:          * @generated
195:          */
196:         @Override
197:         public Object adapt(Object object, Object type) {
198:•                if (isFactoryForType(type)) {
199:                         final Object adapter = super.adapt(object, type);
200:•                        if (!(type instanceof Class<?>) || ((Class<?>) type).isInstance(adapter)) {
201:                                 return adapter;
202:                         }
203:                 }
204:
205:                 return null;
206:         }
207:
208:         /**
209:          * This adds a listener.
210:          * <!-- begin-user-doc -->
211:          * <!-- end-user-doc -->
212:          *
213:          * @generated
214:          */
215:         @Override
216:         public void addListener(INotifyChangedListener notifyChangedListener) {
217:                 changeNotifier.addListener(notifyChangedListener);
218:         }
219:
220:         /**
221:          * This removes a listener.
222:          * <!-- begin-user-doc -->
223:          * <!-- end-user-doc -->
224:          *
225:          * @generated
226:          */
227:         @Override
228:         public void removeListener(INotifyChangedListener notifyChangedListener) {
229:                 changeNotifier.removeListener(notifyChangedListener);
230:         }
231:
232:         /**
233:          * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
234:          * <!-- begin-user-doc -->
235:          * <!-- end-user-doc -->
236:          *
237:          * @generated
238:          */
239:         @Override
240:         public void fireNotifyChanged(Notification notification) {
241:                 changeNotifier.fireNotifyChanged(notification);
242:
243:•                if (parentAdapterFactory != null) {
244:                         parentAdapterFactory.fireNotifyChanged(notification);
245:                 }
246:         }
247:
248:         /**
249:          * This disposes all of the item providers created by this factory.
250:          * <!-- begin-user-doc -->
251:          * <!-- end-user-doc -->
252:          *
253:          * @generated
254:          */
255:         @Override
256:         public void dispose() {
257:•                if (simpleTestObjectItemProvider != null) {
258:                         simpleTestObjectItemProvider.dispose();
259:                 }
260:•                if (innerObjectItemProvider != null) {
261:                         innerObjectItemProvider.dispose();
262:                 }
263:         }
264:
265: }