Skip to content

Package: TemplateItemProviderAdapterFactory

TemplateItemProviderAdapterFactory

nameinstructionbranchcomplexitylinemethod
TemplateItemProviderAdapterFactory()
M: 0 C: 45
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 11
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%
createControlValidationTemplateAdapter()
M: 0 C: 12
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
createStyleAdapter()
M: 0 C: 12
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
createViewTemplateAdapter()
M: 0 C: 12
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
dispose()
M: 3 C: 16
84%
M: 1 C: 5
83%
M: 1 C: 3
75%
M: 1 C: 6
86%
M: 0 C: 1
100%
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%
getChildCreationExtenders()
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getNewChildDescriptors(Object, EditingDomain)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getResourceLocator()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
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-2013 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: * EclipseSource Munich - initial API and implementation
13: */
14: package org.eclipse.emf.ecp.view.template.model.provider;
15:
16: import java.util.ArrayList;
17: import java.util.Collection;
18: import java.util.List;
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.common.util.ResourceLocator;
24: import org.eclipse.emf.ecp.view.template.model.VTTemplatePackage;
25: import org.eclipse.emf.ecp.view.template.model.util.TemplateAdapterFactory;
26: import org.eclipse.emf.edit.domain.EditingDomain;
27: import org.eclipse.emf.edit.provider.ChangeNotifier;
28: import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
29: import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
30: import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
31: import org.eclipse.emf.edit.provider.IChangeNotifier;
32: import org.eclipse.emf.edit.provider.IChildCreationExtender;
33: import org.eclipse.emf.edit.provider.IDisposable;
34: import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
35: import org.eclipse.emf.edit.provider.IItemLabelProvider;
36: import org.eclipse.emf.edit.provider.IItemPropertySource;
37: import org.eclipse.emf.edit.provider.INotifyChangedListener;
38: import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
39: import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
40:
41: /**
42: * This is the factory that is used to provide the interfaces needed to support Viewers.
43: * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged
44: * fireNotifyChanged}.
45: * The adapters also support Eclipse property sheets.
46: * Note that most of the adapters are shared among multiple instances.
47: * <!-- begin-user-doc -->
48: * <!-- end-user-doc -->
49: *
50: * @generated
51: */
52: public class TemplateItemProviderAdapterFactory extends TemplateAdapterFactory implements ComposeableAdapterFactory,
53:         IChangeNotifier, IDisposable, IChildCreationExtender {
54:         /**
55:          * This keeps track of the root adapter factory that delegates to this adapter factory.
56:          * <!-- begin-user-doc -->
57:          * <!-- end-user-doc -->
58:          *
59:          * @generated
60:          */
61:         protected ComposedAdapterFactory parentAdapterFactory;
62:
63:         /**
64:          * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
65:          * <!-- begin-user-doc -->
66:          * <!-- end-user-doc -->
67:          *
68:          * @generated
69:          */
70:         protected IChangeNotifier changeNotifier = new ChangeNotifier();
71:
72:         /**
73:          * This helps manage the child creation extenders.
74:          * <!-- begin-user-doc -->
75:          * <!-- end-user-doc -->
76:          *
77:          * @generated
78:          */
79:         protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(
80:                 TemplateEditPlugin.INSTANCE, VTTemplatePackage.eNS_URI);
81:
82:         /**
83:          * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
84:          * <!-- begin-user-doc -->
85:          * <!-- end-user-doc -->
86:          *
87:          * @generated
88:          */
89:         protected Collection<Object> supportedTypes = new ArrayList<Object>();
90:
91:         /**
92:          * This constructs an instance.
93:          * <!-- begin-user-doc -->
94:          * <!-- end-user-doc -->
95:          *
96:          * @generated
97:          */
98:         public TemplateItemProviderAdapterFactory() {
99:                 supportedTypes.add(IEditingDomainItemProvider.class);
100:                 supportedTypes.add(IStructuredItemContentProvider.class);
101:                 supportedTypes.add(ITreeItemContentProvider.class);
102:                 supportedTypes.add(IItemLabelProvider.class);
103:                 supportedTypes.add(IItemPropertySource.class);
104:         }
105:
106:         /**
107:          * This keeps track of the one adapter used for all {@link org.eclipse.emf.ecp.view.template.model.VTViewTemplate}
108:          * instances.
109:          * <!-- begin-user-doc -->
110:          * <!-- end-user-doc -->
111:          *
112:          * @generated
113:          */
114:         protected ViewTemplateItemProvider viewTemplateItemProvider;
115:
116:         /**
117:          * This creates an adapter for a {@link org.eclipse.emf.ecp.view.template.model.VTViewTemplate}.
118:          * <!-- begin-user-doc -->
119:          * <!-- end-user-doc -->
120:          *
121:          * @generated
122:          */
123:         @Override
124:         public Adapter createViewTemplateAdapter() {
125:•                if (viewTemplateItemProvider == null) {
126:                         viewTemplateItemProvider = new ViewTemplateItemProvider(this);
127:                 }
128:
129:                 return viewTemplateItemProvider;
130:         }
131:
132:         /**
133:          * This keeps track of the one adapter used for all
134:          * {@link org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate} instances.
135:          * <!-- begin-user-doc -->
136:          * <!-- end-user-doc -->
137:          *
138:          * @generated
139:          */
140:         protected ControlValidationTemplateItemProvider controlValidationTemplateItemProvider;
141:
142:         /**
143:          * This creates an adapter for a {@link org.eclipse.emf.ecp.view.template.model.VTControlValidationTemplate}.
144:          * <!-- begin-user-doc -->
145:          * <!-- end-user-doc -->
146:          *
147:          * @generated
148:          */
149:         @Override
150:         public Adapter createControlValidationTemplateAdapter() {
151:•                if (controlValidationTemplateItemProvider == null) {
152:                         controlValidationTemplateItemProvider = new ControlValidationTemplateItemProvider(this);
153:                 }
154:
155:                 return controlValidationTemplateItemProvider;
156:         }
157:
158:         /**
159:          * This keeps track of the one adapter used for all {@link org.eclipse.emf.ecp.view.template.model.VTStyle}
160:          * instances.
161:          * <!-- begin-user-doc -->
162:          * <!-- end-user-doc -->
163:          *
164:          * @generated
165:          */
166:         protected StyleItemProvider styleItemProvider;
167:
168:         /**
169:          * This creates an adapter for a {@link org.eclipse.emf.ecp.view.template.model.VTStyle}.
170:          * <!-- begin-user-doc -->
171:          * <!-- end-user-doc -->
172:          *
173:          * @generated
174:          */
175:         @Override
176:         public Adapter createStyleAdapter() {
177:•                if (styleItemProvider == null) {
178:                         styleItemProvider = new StyleItemProvider(this);
179:                 }
180:
181:                 return styleItemProvider;
182:         }
183:
184:         /**
185:          * This returns the root adapter factory that contains this factory.
186:          * <!-- begin-user-doc -->
187:          * <!-- end-user-doc -->
188:          *
189:          * @generated
190:          */
191:         @Override
192:         public ComposeableAdapterFactory getRootAdapterFactory() {
193:•                return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
194:         }
195:
196:         /**
197:          * This sets the composed adapter factory that contains this factory.
198:          * <!-- begin-user-doc -->
199:          * <!-- end-user-doc -->
200:          *
201:          * @generated
202:          */
203:         @Override
204:         public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
205:                 this.parentAdapterFactory = parentAdapterFactory;
206:         }
207:
208:         /**
209:          * <!-- begin-user-doc -->
210:          * <!-- end-user-doc -->
211:          *
212:          * @generated
213:          */
214:         @Override
215:         public boolean isFactoryForType(Object type) {
216:•                return supportedTypes.contains(type) || super.isFactoryForType(type);
217:         }
218:
219:         /**
220:          * This implementation substitutes the factory itself as the key for the adapter.
221:          * <!-- begin-user-doc -->
222:          * <!-- end-user-doc -->
223:          *
224:          * @generated
225:          */
226:         @Override
227:         public Adapter adapt(Notifier notifier, Object type) {
228:                 return super.adapt(notifier, this);
229:         }
230:
231:         /**
232:          * <!-- begin-user-doc -->
233:          * <!-- end-user-doc -->
234:          *
235:          * @generated
236:          */
237:         @Override
238:         public Object adapt(Object object, Object type) {
239:•                if (isFactoryForType(type)) {
240:                         final Object adapter = super.adapt(object, type);
241:•                        if (!(type instanceof Class<?>) || ((Class<?>) type).isInstance(adapter)) {
242:                                 return adapter;
243:                         }
244:                 }
245:
246:                 return null;
247:         }
248:
249:         /**
250:          * <!-- begin-user-doc -->
251:          * <!-- end-user-doc -->
252:          *
253:          * @generated
254:          */
255:         public List<IChildCreationExtender> getChildCreationExtenders() {
256:                 return childCreationExtenderManager.getChildCreationExtenders();
257:         }
258:
259:         /**
260:          * <!-- begin-user-doc -->
261:          * <!-- end-user-doc -->
262:          *
263:          * @generated
264:          */
265:         @Override
266:         public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
267:                 return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
268:         }
269:
270:         /**
271:          * <!-- begin-user-doc -->
272:          * <!-- end-user-doc -->
273:          *
274:          * @generated
275:          */
276:         @Override
277:         public ResourceLocator getResourceLocator() {
278:                 return childCreationExtenderManager;
279:         }
280:
281:         /**
282:          * This adds a listener.
283:          * <!-- begin-user-doc -->
284:          * <!-- end-user-doc -->
285:          *
286:          * @generated
287:          */
288:         @Override
289:         public void addListener(INotifyChangedListener notifyChangedListener) {
290:                 changeNotifier.addListener(notifyChangedListener);
291:         }
292:
293:         /**
294:          * This removes a listener.
295:          * <!-- begin-user-doc -->
296:          * <!-- end-user-doc -->
297:          *
298:          * @generated
299:          */
300:         @Override
301:         public void removeListener(INotifyChangedListener notifyChangedListener) {
302:                 changeNotifier.removeListener(notifyChangedListener);
303:         }
304:
305:         /**
306:          * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
307:          * <!-- begin-user-doc -->
308:          * <!-- end-user-doc -->
309:          *
310:          * @generated
311:          */
312:         @Override
313:         public void fireNotifyChanged(Notification notification) {
314:                 changeNotifier.fireNotifyChanged(notification);
315:
316:•                if (parentAdapterFactory != null) {
317:                         parentAdapterFactory.fireNotifyChanged(notification);
318:                 }
319:         }
320:
321:         /**
322:          * This disposes all of the item providers created by this factory.
323:          * <!-- begin-user-doc -->
324:          * <!-- end-user-doc -->
325:          *
326:          * @generated
327:          */
328:         @Override
329:         public void dispose() {
330:•                if (viewTemplateItemProvider != null) {
331:                         viewTemplateItemProvider.dispose();
332:                 }
333:•                if (controlValidationTemplateItemProvider != null) {
334:                         controlValidationTemplateItemProvider.dispose();
335:                 }
336:•                if (styleItemProvider != null) {
337:                         styleItemProvider.dispose();
338:                 }
339:         }
340:
341: }