/** * <copyright> * </copyright> * * */ package org.emftext.term.propositional.expression.resource.expression.mopp; /** * A representation for a range in a document where a structural feature (e.g., a * reference) is expected. */ public class ExpressionExpectedStructuralFeature extends org.emftext.term.propositional.expression.resource.expression.mopp.ExpressionAbstractExpectedElement { private org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionPlaceholder placeholder; public ExpressionExpectedStructuralFeature(org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionPlaceholder placeholder) { super(placeholder.getMetaclass()); this.placeholder = placeholder; } public org.eclipse.emf.ecore.EStructuralFeature getFeature() { return placeholder.getFeature(); } /** * Returns the expected placeholder. */ public org.emftext.term.propositional.expression.resource.expression.grammar.ExpressionSyntaxElement getSymtaxElement() { return placeholder; } public String getTokenName() { return placeholder.getTokenName(); } public java.util.Set<String> getTokenNames() { return java.util.Collections.singleton(getTokenName()); } public String toString() { return "EFeature " + getFeature().getEContainingClass().getName() + "." + getFeature().getName(); } public boolean equals(Object o) { if (o instanceof ExpressionExpectedStructuralFeature) { return getFeature().equals(((ExpressionExpectedStructuralFeature) o).getFeature()); } return false; } @Override public int hashCode() { return getFeature().hashCode(); } }