/**
* <copyright>
* </copyright>
*
*
*/
package org.feature.multi.perspective.mapping.viewmapping.resource.mtext.mopp;
/**
* A representation for a range in a document where a structural feature (e.g., a
* reference) is expected.
*/
public class MtextExpectedStructuralFeature extends org.feature.multi.perspective.mapping.viewmapping.resource.mtext.mopp.MtextAbstractExpectedElement {
private org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextPlaceholder placeholder;
public MtextExpectedStructuralFeature(org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextPlaceholder placeholder) {
super(placeholder.getMetaclass());
this.placeholder = placeholder;
}
public org.eclipse.emf.ecore.EStructuralFeature getFeature() {
return placeholder.getFeature();
}
/**
* Returns the expected placeholder.
*/
public org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextSyntaxElement 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 MtextExpectedStructuralFeature) {
return getFeature().equals(((MtextExpectedStructuralFeature) o).getFeature());
}
return false;
}
@Override
public int hashCode() {
return getFeature().hashCode();
}
}