Skip to content

Package: ExtensionXMIViewModelProvider

ExtensionXMIViewModelProvider

nameinstructionbranchcomplexitylinemethod
ExtensionXMIViewModelProvider()
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%
canProvideViewModel(EObject, VViewModelProperties, Collection)
M: 0 C: 10
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
provideViewModel(EObject, VViewModelProperties, Collection)
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%

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: * Jonas - initial API and implementation
13: * Christian W. Damus - bug 547787
14: ******************************************************************************/
15: package org.eclipse.emf.ecp.view.model.provider.xmi;
16:
17: import java.util.Collection;
18:
19: import org.eclipse.emf.ecore.EObject;
20: import org.eclipse.emf.ecp.view.spi.model.VView;
21: import org.eclipse.emf.ecp.view.spi.model.VViewModelProperties;
22: import org.eclipse.emf.ecp.view.spi.provider.IFilteredViewProvider;
23: import org.eclipse.emf.ecp.view.spi.provider.IViewProvider;
24:
25: /**
26: * An {@link IViewProvider} which loads view models from extension points.
27: *
28: * @author Jonas Helming
29: *
30: */
31: public class ExtensionXMIViewModelProvider implements IFilteredViewProvider {
32:
33:         @Override
34:         public double canProvideViewModel(EObject eObject, VViewModelProperties properties,
35:                 Collection<String> requiredKeys) {
36:
37:•                if (ViewModelFileExtensionsManager.getInstance().hasViewModelFor(eObject, properties, requiredKeys)) {
38:                         return 2d;
39:                 }
40:                 return NOT_APPLICABLE;
41:         }
42:
43:         @Override
44:         public VView provideViewModel(EObject eObject, VViewModelProperties properties, Collection<String> requiredKeys) {
45:                 return ViewModelFileExtensionsManager.getInstance().createView(eObject, properties, requiredKeys);
46:         }
47:
48: }