Skip to content

Package: NumberControlRendererTester

NumberControlRendererTester

nameinstructionbranchcomplexitylinemethod
NumberControlRendererTester()
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%
isApplicable(VElement, ViewModelContext)
M: 25 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
static {...}
M: 54 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2014 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: ******************************************************************************/
14: package org.eclipse.emf.ecp.view.model.common;
15:
16: import java.math.BigDecimal;
17: import java.math.BigInteger;
18: import java.util.LinkedHashSet;
19: import java.util.Set;
20:
21: import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
22: import org.eclipse.emf.ecp.view.spi.model.VElement;
23:
24: /**
25: * Tester for Text Renderer.
26: *
27: * @author Eugen Neufeld
28: *
29: */
30: public class NumberControlRendererTester implements ECPRendererTester {
31:
32:         private static Set<NumberTester> testers = new LinkedHashSet<NumberControlRendererTester.NumberTester>();
33:
34:         static {
35:                 testers.add(new NumberTester(Integer.class));
36:                 testers.add(new NumberTester(Long.class));
37:                 testers.add(new NumberTester(Float.class));
38:                 testers.add(new NumberTester(Double.class));
39:                 testers.add(new NumberTester(BigInteger.class));
40:                 testers.add(new NumberTester(BigDecimal.class));
41:                 testers.add(new NumberTester(Short.class));
42:         }
43:
44:         /**
45:          * {@inheritDoc}
46:          *
47:          * @see org.eclipse.emf.ecp.view.model.common.ECPRendererTester#isApplicable(org.eclipse.emf.ecp.view.spi.model.VElement,
48:          * org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
49:          */
50:         @Override
51:         public int isApplicable(VElement vElement, ViewModelContext viewModelContext) {
52:                 int maxResult = NOT_APPLICABLE;
53:•                for (final NumberTester tester : testers) {
54:                         final int result = tester.isApplicable(vElement, viewModelContext);
55:•                        if (result > maxResult) {
56:                                 maxResult = result;
57:                         }
58:                 }
59:                 return maxResult;
60:         }
61:
62:         /**
63:          * Inner class to encapsulate numerical tests.
64:          *
65:          * @author Eugen Neufeld
66:          *
67:          */
68:         private static class NumberTester extends SimpleControlRendererTester {
69:                 private final Class<?> clazz;
70:
71:                 NumberTester(Class<?> clazz) {
72:                         this.clazz = clazz;
73:                 }
74:
75:                 /**
76:                  * {@inheritDoc}
77:                  *
78:                  * @see org.eclipse.emf.ecp.view.model.common.SimpleControlRendererTester#isSingleValue()
79:                  */
80:                 @Override
81:                 protected boolean isSingleValue() {
82:                         return true;
83:                 }
84:
85:                 /**
86:                  * {@inheritDoc}
87:                  *
88:                  * @see org.eclipse.emf.ecp.view.model.common.SimpleControlRendererTester#getPriority()
89:                  */
90:                 @Override
91:                 protected int getPriority() {
92:                         return 2;
93:                 }
94:
95:                 /**
96:                  * {@inheritDoc}
97:                  *
98:                  * @see org.eclipse.emf.ecp.view.model.common.SimpleControlRendererTester#getSupportedClassType()
99:                  */
100:                 @Override
101:                 protected Class<?> getSupportedClassType() {
102:                         return clazz;
103:                 }
104:         }
105:
106: }