Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: b26d839716e012e2077396630c1f9e07a8ea844d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*****************************************************************************
 * Copyright (c) 2018 CEA LIST and others.
 * 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   CEA LIST - Initial API and implementation
 *   
 *****************************************************************************/

package org.eclipse.papyrus.infra.viewpoints.policy.providers;

import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
import org.eclipse.papyrus.infra.core.architecture.merged.MergedADElement;
import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureContext;
import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureDescriptionLanguage;
import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureViewpoint;

/**
 * @author melaasar
 *
 */
public class MergedItemPropertyDescriptor extends ItemPropertyDescriptor {

	public MergedItemPropertyDescriptor(AdapterFactory adapterFactory,
			ResourceLocator resourceLocator,
			String displayName,
			String description,
			EStructuralFeature feature,
			boolean isSettable,
			boolean multiLine,
			boolean sortChoices,
			Object staticImage,
			String category,
			String[] filterFlags,
			Object editorFactory) {
		super(adapterFactory, resourceLocator, displayName, description, feature, isSettable, multiLine, sortChoices, staticImage, category, filterFlags, null);
	}

	public Object getPropertyValue(Object object) {
		if (object instanceof MergedArchitectureContext) {
			switch (feature.getFeatureID()) {
			case ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS:
				return ((MergedArchitectureContext)object).getConversionCommandClassName();
			case ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS:
				return ((MergedArchitectureContext)object).getCreationCommandClassName();
			case ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS:
				return ((MergedArchitectureContext)object).getDefaultViewpoints();
			case ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES:
				return ((MergedArchitectureContext)object).getElementTypes();
			case ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX:
				return ((MergedArchitectureContext)object).getExtensionPrefix();
			}
		};
		if (object instanceof MergedArchitectureDescriptionLanguage) {
			switch (feature.getFeatureID()) {
			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL:
				return ((MergedArchitectureDescriptionLanguage)object).getMetamodel();
			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES:
				return ((MergedArchitectureDescriptionLanguage)object).getProfiles();
			}
		};
		if (object instanceof MergedArchitectureViewpoint) {
			switch (feature.getFeatureID()) {
			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS:
				return ((MergedArchitectureViewpoint)object).getConcerns();
			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS:
				return ((MergedArchitectureViewpoint)object).getRepresentationKinds();
			}
		};
		if (object instanceof MergedADElement) {
			switch (feature.getFeatureID()) {
			case ArchitecturePackage.AD_ELEMENT__DESCRIPTION:
				return ((MergedADElement)object).getDescription();
			case ArchitecturePackage.AD_ELEMENT__ICON:
				return ((MergedADElement)object).getIcon();
			case ArchitecturePackage.AD_ELEMENT__ID:
				return ((MergedADElement)object).getId();
			case ArchitecturePackage.AD_ELEMENT__NAME:
				return ((MergedADElement)object).getName();
			case ArchitecturePackage.AD_ELEMENT__QUALIFIED_NAME:
				return ((MergedADElement)object).getQualifiedName();
			}
		};
		
		return null;
	}

}

Back to the top