Skip to content

Package: MultisegmentItemProviderAdapterFactory

MultisegmentItemProviderAdapterFactory

nameinstructionbranchcomplexitylinemethod
MultisegmentItemProviderAdapterFactory()
M: 45 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 11 C: 0
0%
M: 1 C: 0
0%
adapt(Notifier, Object)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
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%
createMultiDomainModelReferenceSegmentAdapter()
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: 7 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
fireNotifyChanged(Notification)
M: 12 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
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: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getResourceLocator()
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%
getRootAdapterFactory()
M: 9 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
isFactoryForType(Object)
M: 13 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
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: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%

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: * Lucas Koehler - initial API and implementation
13: */
14: package org.eclipse.emfforms.view.spi.multisegment.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.edit.domain.EditingDomain;
25: import org.eclipse.emf.edit.provider.ChangeNotifier;
26: import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
27: import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
28: import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
29: import org.eclipse.emf.edit.provider.IChangeNotifier;
30: import org.eclipse.emf.edit.provider.IChildCreationExtender;
31: import org.eclipse.emf.edit.provider.IDisposable;
32: import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
33: import org.eclipse.emf.edit.provider.IItemLabelProvider;
34: import org.eclipse.emf.edit.provider.IItemPropertySource;
35: import org.eclipse.emf.edit.provider.INotifyChangedListener;
36: import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
37: import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
38: import org.eclipse.emfforms.view.spi.multisegment.model.VMultisegmentPackage;
39: import org.eclipse.emfforms.view.spi.multisegment.model.util.MultisegmentAdapterFactory;
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 MultisegmentItemProviderAdapterFactory extends MultisegmentAdapterFactory
53:         implements ComposeableAdapterFactory, 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:                 MultisegmentEditPlugin.INSTANCE, VMultisegmentPackage.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<>();
90:
91:         /**
92:          * This constructs an instance.
93:          * <!-- begin-user-doc -->
94:          * <!-- end-user-doc -->
95:          *
96:          * @generated
97:          */
98:         public MultisegmentItemProviderAdapterFactory() {
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
108:          * {@link org.eclipse.emfforms.view.spi.multisegment.model.VMultiDomainModelReferenceSegment} instances.
109:          * <!-- begin-user-doc -->
110:          * <!-- end-user-doc -->
111:          *
112:          * @generated
113:          */
114:         protected MultiDomainModelReferenceSegmentItemProvider multiDomainModelReferenceSegmentItemProvider;
115:
116:         /**
117:          * This creates an adapter for a
118:          * {@link org.eclipse.emfforms.view.spi.multisegment.model.VMultiDomainModelReferenceSegment}.
119:          * <!-- begin-user-doc -->
120:          * <!-- end-user-doc -->
121:          *
122:          * @generated
123:          */
124:         @Override
125:         public Adapter createMultiDomainModelReferenceSegmentAdapter() {
126:•                if (multiDomainModelReferenceSegmentItemProvider == null) {
127:                         multiDomainModelReferenceSegmentItemProvider = new MultiDomainModelReferenceSegmentItemProvider(this);
128:                 }
129:
130:                 return multiDomainModelReferenceSegmentItemProvider;
131:         }
132:
133:         /**
134:          * This returns the root adapter factory that contains this factory.
135:          * <!-- begin-user-doc -->
136:          * <!-- end-user-doc -->
137:          *
138:          * @generated
139:          */
140:         @Override
141:         public ComposeableAdapterFactory getRootAdapterFactory() {
142:•                return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
143:         }
144:
145:         /**
146:          * This sets the composed adapter factory that contains this factory.
147:          * <!-- begin-user-doc -->
148:          * <!-- end-user-doc -->
149:          *
150:          * @generated
151:          */
152:         @Override
153:         public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
154:                 this.parentAdapterFactory = parentAdapterFactory;
155:         }
156:
157:         /**
158:          * <!-- begin-user-doc -->
159:          * <!-- end-user-doc -->
160:          *
161:          * @generated
162:          */
163:         @Override
164:         public boolean isFactoryForType(Object type) {
165:•                return supportedTypes.contains(type) || super.isFactoryForType(type);
166:         }
167:
168:         /**
169:          * This implementation substitutes the factory itself as the key for the adapter.
170:          * <!-- begin-user-doc -->
171:          * <!-- end-user-doc -->
172:          *
173:          * @generated
174:          */
175:         @Override
176:         public Adapter adapt(Notifier notifier, Object type) {
177:                 return super.adapt(notifier, this);
178:         }
179:
180:         /**
181:          * <!-- begin-user-doc -->
182:          * <!-- end-user-doc -->
183:          *
184:          * @generated
185:          */
186:         @Override
187:         public Object adapt(Object object, Object type) {
188:•                if (isFactoryForType(type)) {
189:                         final Object adapter = super.adapt(object, type);
190:•                        if (!(type instanceof Class<?>) || ((Class<?>) type).isInstance(adapter)) {
191:                                 return adapter;
192:                         }
193:                 }
194:
195:                 return null;
196:         }
197:
198:         /**
199:          * <!-- begin-user-doc -->
200:          * <!-- end-user-doc -->
201:          *
202:          * @generated
203:          */
204:         public List<IChildCreationExtender> getChildCreationExtenders() {
205:                 return childCreationExtenderManager.getChildCreationExtenders();
206:         }
207:
208:         /**
209:          * <!-- begin-user-doc -->
210:          * <!-- end-user-doc -->
211:          *
212:          * @generated
213:          */
214:         @Override
215:         public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
216:                 return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
217:         }
218:
219:         /**
220:          * <!-- begin-user-doc -->
221:          * <!-- end-user-doc -->
222:          *
223:          * @generated
224:          */
225:         @Override
226:         public ResourceLocator getResourceLocator() {
227:                 return childCreationExtenderManager;
228:         }
229:
230:         /**
231:          * This adds a listener.
232:          * <!-- begin-user-doc -->
233:          * <!-- end-user-doc -->
234:          *
235:          * @generated
236:          */
237:         @Override
238:         public void addListener(INotifyChangedListener notifyChangedListener) {
239:                 changeNotifier.addListener(notifyChangedListener);
240:         }
241:
242:         /**
243:          * This removes a listener.
244:          * <!-- begin-user-doc -->
245:          * <!-- end-user-doc -->
246:          *
247:          * @generated
248:          */
249:         @Override
250:         public void removeListener(INotifyChangedListener notifyChangedListener) {
251:                 changeNotifier.removeListener(notifyChangedListener);
252:         }
253:
254:         /**
255:          * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
256:          * <!-- begin-user-doc -->
257:          * <!-- end-user-doc -->
258:          *
259:          * @generated
260:          */
261:         @Override
262:         public void fireNotifyChanged(Notification notification) {
263:                 changeNotifier.fireNotifyChanged(notification);
264:
265:•                if (parentAdapterFactory != null) {
266:                         parentAdapterFactory.fireNotifyChanged(notification);
267:                 }
268:         }
269:
270:         /**
271:          * This disposes all of the item providers created by this factory.
272:          * <!-- begin-user-doc -->
273:          * <!-- end-user-doc -->
274:          *
275:          * @generated
276:          */
277:         @Override
278:         public void dispose() {
279:•                if (multiDomainModelReferenceSegmentItemProvider != null) {
280:                         multiDomainModelReferenceSegmentItemProvider.dispose();
281:                 }
282:         }
283:
284: }