/**
* <copyright>
* </copyright>
*
*
*/
package org.feature.multi.perspective.mapping.viewmapping.resource.mtext.mopp;
/**
* A representation for a range in a document where an enumeration literal (i.e.,
* a set of static strings) is expected.
*/
public class MtextExpectedEnumerationTerminal extends org.feature.multi.perspective.mapping.viewmapping.resource.mtext.mopp.MtextAbstractExpectedElement {
private org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextEnumerationTerminal enumerationTerminal;
public MtextExpectedEnumerationTerminal(org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextEnumerationTerminal enumerationTerminal) {
super(enumerationTerminal.getMetaclass());
this.enumerationTerminal = enumerationTerminal;
}
public java.util.Set<String> getTokenNames() {
// EnumerationTerminals are associated with multiple tokens, one for each literal
// that was mapped to a string
java.util.Set<String> tokenNames = new java.util.LinkedHashSet<String>();
java.util.Map<String, String> mapping = enumerationTerminal.getLiteralMapping();
for (String literalName : mapping.keySet()) {
String text = mapping.get(literalName);
if (text != null && !"".equals(text)) {
tokenNames.add("'" + text + "'");
}
}
return tokenNames;
}
public org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextEnumerationTerminal getEnumerationTerminal() {
return this.enumerationTerminal;
}
/**
* Returns the expected enumeration terminal.
*/
public org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextSyntaxElement getSymtaxElement() {
return enumerationTerminal;
}
public String toString() {
return "EnumTerminal \"" + getEnumerationTerminal() + "\"";
}
}