Skip to content

Package: FeatureSegmentIdeDescriptor

FeatureSegmentIdeDescriptor

nameinstructionbranchcomplexitylinemethod
FeatureSegmentIdeDescriptor()
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%
getEStructuralFeatureSelectionValidator()
M: 2 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getReferenceTypeResolver()
M: 2 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getSegmentType()
M: 0 C: 2
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
isAllowedAsLastElementInPath()
M: 2 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
isAvailableInIde()
M: 0 C: 2
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
isLastElementInPath()
M: 2 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
lambda$0(EStructuralFeature)
M: 2 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
lambda$1(EReference, VDomainModelReferenceSegment)
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%

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.emf.ecp.view.internal.editor.handler;
15:
16: import org.eclipse.emf.ecore.EClass;
17: import org.eclipse.emf.ecp.view.spi.editor.controls.EStructuralFeatureSelectionValidator;
18: import org.eclipse.emf.ecp.view.spi.editor.controls.ReferenceTypeResolver;
19: import org.eclipse.emf.ecp.view.spi.editor.controls.SegmentIdeDescriptor;
20: import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
21: import org.osgi.service.component.annotations.Component;
22:
23: /**
24: * The {@link SegmentIdeDescriptor} for {@link org.eclipse.emf.ecp.view.spi.model.VFeatureDomainModelReferenceSegment
25: * VFeatureDomainModelReferenceSegments}.
26: *
27: * @author Lucas Koehler
28: *
29: */
30: @Component(name = "FeatureSegmentIdeDescriptor")
31: public class FeatureSegmentIdeDescriptor implements SegmentIdeDescriptor {
32:
33:         @Override
34:         public EClass getSegmentType() {
35:                 return VViewPackage.Literals.FEATURE_DOMAIN_MODEL_REFERENCE_SEGMENT;
36:         }
37:
38:         @Override
39:         public boolean isAvailableInIde() {
40:                 return true;
41:         }
42:
43:         @Override
44:         public EStructuralFeatureSelectionValidator getEStructuralFeatureSelectionValidator() {
45:                 // Every selection is valid for feature segments.
46:                 // Returning null means the selection is valid.
47:                 return structuralFeature -> null;
48:         }
49:
50:         @Override
51:         public boolean isLastElementInPath() {
52:                 return false;
53:         }
54:
55:         @Override
56:         public ReferenceTypeResolver getReferenceTypeResolver() {
57:                 return (eReference, segment) -> eReference.getEReferenceType();
58:         }
59:
60:         @Override
61:         public boolean isAllowedAsLastElementInPath() {
62:                 return true;
63:         }
64:
65: }