aboutsummaryrefslogtreecommitdiffstats
path: root/rba.tool.editor/src/rba/tool/editor/util/RBAModelEditorToolUtil.xtend
blob: 10554236fe843d48a2d54b277d5b098263ca917e (plain)
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
package rba.tool.editor.util

import java.util.Collection
import org.eclipse.emf.ecore.EObject
import org.eclipse.emf.ecore.EStructuralFeature
import org.eclipse.emf.ecore.EValidator
import rba.core.AbstractAllocatable
import rba.core.AbstractContent
import rba.core.Expression
import rba.core.RBACorePackage

class RBAModelEditorToolUtil {

	def public static String getExpressionText(Expression expression) {
		return if (expression !== null) expression.getExpressionText() else "[Invalid_Expression]";
	}

	def public static boolean isSkippedSyntax(EObject obj, EStructuralFeature feature) {
		// AbstractAllocatable -> contents
		if (obj instanceof AbstractAllocatable && feature == RBACorePackage.Literals.ABSTRACT_ALLOCATABLE__CONTENTS) {
			return true;
		}
		// AbstractAllocatable -> group
		if (obj instanceof AbstractAllocatable && feature == RBACorePackage.Literals.ABSTRACT_ALLOCATABLE__ALLOCATABLE_GROUP) {
			return true;
		}
		// AbstractContent -> group
		if (obj instanceof AbstractContent && feature == RBACorePackage.Literals.ABSTRACT_CONTENT__CONTENT_GROUP) {
			return true;
		}
		return false;
	}

	def public static boolean isValidated(Object context, EValidator validator) {
		if (context instanceof Collection<?>) {
			return (context as Collection<?>).contains(validator);
		}
		return false;
	}
}