/** * <copyright> * </copyright> * * */ package org.emftext.term.propositional.expression.resource.expression.grammar; public class ExpressionContainment extends org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionTerminal { private final org.eclipse.emf.ecore.EClass[] allowedTypes; public ExpressionContainment(org.eclipse.emf.ecore.EStructuralFeature feature, org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionCardinality cardinality, org.eclipse.emf.ecore.EClass[] allowedTypes, int mandatoryOccurencesAfter) { super(feature, cardinality, mandatoryOccurencesAfter); this.allowedTypes = allowedTypes; } public org.eclipse.emf.ecore.EClass[] getAllowedTypes() { return allowedTypes; } public String toString() { String typeRestrictions = null; if (allowedTypes != null && allowedTypes.length > 0) { typeRestrictions = org.emftext.term.propositional.expression.resource.expression.util.ExpressionStringUtil.explode(allowedTypes, ", ", new org.emftext.term.propositional.expression.resource.expression.IExpressionFunction1<String, org.eclipse.emf.ecore.EClass>() { public String execute(org.eclipse.emf.ecore.EClass eClass) { return eClass.getName(); } }); } return getFeature().getName() + (typeRestrictions == null ? "" : "[" + typeRestrictions + "]"); } }