Skip to content

Package: ECPProjectProperties$1

ECPProjectProperties$1

nameinstructionbranchcomplexitylinemethod
eval(ECPProject)
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%
{...}
M: 9 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-2012 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: * Eike Stepper - initial API and implementation
13: * Eugen Neufeld - JavaDoc
14: *******************************************************************************/
15: package org.eclipse.emf.ecp.internal.core.properties;
16:
17: import org.eclipse.emf.ecp.core.ECPProject;
18: import org.eclipse.emf.ecp.core.ECPProvider;
19: import org.eclipse.emf.ecp.internal.core.Messages;
20: import org.eclipse.net4j.util.properties.DefaultPropertyTester;
21: import org.eclipse.net4j.util.properties.IProperties;
22: import org.eclipse.net4j.util.properties.Properties;
23: import org.eclipse.net4j.util.properties.Property;
24:
25: /**
26: * @author Eike Stepper
27: */
28: public final class ECPProjectProperties extends Properties<ECPProject> {
29:         private static final String UNKNOWN_PROVIDER = "<unknown provider>"; //$NON-NLS-1$
30:         private static final IProperties<ECPProject> INSTANCE = new ECPProjectProperties();
31:
32:         private ECPProjectProperties() {
33:                 super(ECPProject.class);
34:
35:                 add(new Property<ECPProject>(
36:                         "name", Messages.ECPProjectProperties_Name, Messages.ECPProjectProperties_NameOfProject) { //$NON-NLS-1$
37:                         @Override
38:                         protected Object eval(ECPProject project) {
39:                                 return project.getName();
40:                         }
41:                 });
42:
43:                 add(new Property<ECPProject>("repositoryName") { //$NON-NLS-1$
44:                         @Override
45:                         protected Object eval(ECPProject project) {
46:                                 return project.getRepository().getName();
47:                         }
48:                 });
49:
50:                 add(new Property<ECPProject>(
51:                         "repositoryLabel", Messages.ECPProjectProperties_Repository, //$NON-NLS-1$
52:                         Messages.ECPProjectProperties_RepositoryOfProject) {
53:                         @Override
54:                         protected Object eval(ECPProject project) {
55:                                 return project.getRepository().getLabel();
56:                         }
57:                 });
58:
59:                 add(new Property<ECPProject>("providerName") { //$NON-NLS-1$
60:                         @Override
61:                         protected Object eval(ECPProject project) {
62:                                 final ECPProvider provider = project.getProvider();
63:                                 if (provider != null) {
64:                                         return provider.getName();
65:                                 }
66:
67:                                 return UNKNOWN_PROVIDER;
68:                         }
69:                 });
70:
71:                 add(new Property<ECPProject>(
72:                         "providerLabel", Messages.ECPProjectProperties_Provider, Messages.ECPProjectProperties_ProviderOfProject) { //$NON-NLS-1$
73:                         @Override
74:                         protected Object eval(ECPProject project) {
75:                                 final ECPProvider provider = project.getProvider();
76:                                 if (provider != null) {
77:                                         return provider.getLabel();
78:                                 }
79:
80:                                 return UNKNOWN_PROVIDER;
81:                         }
82:                 });
83:                 add(new Property<ECPProject>(
84:                         "isDirty", Messages.ECPProjectProperties_IsProjectDirty, //$NON-NLS-1$
85:                         Messages.ECPProjectProperties_HasProjectUnsavedChanges) {
86:                         @Override
87:                         protected Object eval(ECPProject project) {
88:                                 return project.hasDirtyContents();
89:                         }
90:                 });
91:                 add(new Property<ECPProject>("open") { //$NON-NLS-1$
92:                         @Override
93:                         protected Object eval(ECPProject closeable) {
94:                                 return closeable.isOpen();
95:                         }
96:                 });
97:
98:                 add(new Property<ECPProject>("closed") { //$NON-NLS-1$
99:                         @Override
100:                         protected Object eval(ECPProject closeable) {
101:                                 return !closeable.isOpen();
102:                         }
103:                 });
104:         }
105:
106:         /**
107:          * @author Eike Stepper
108:          */
109:         public static final class Tester extends DefaultPropertyTester<ECPProject> {
110:                 private static final String NAMESPACE = "org.eclipse.emf.ecp.core.project"; //$NON-NLS-1$
111:
112:                 /** The tester constructor. */
113:                 public Tester() {
114:                         super(NAMESPACE, INSTANCE);
115:                 }
116:         }
117: }