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