/** * <copyright> * </copyright> * * */ package org.feature.multi.perspective.mapping.viewmapping.resource.mtext.mopp; /** * A representation for a range in a document where a boolean attribute is * expected. */ public class MtextExpectedBooleanTerminal extends org.feature.multi.perspective.mapping.viewmapping.resource.mtext.mopp.MtextAbstractExpectedElement { private org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextBooleanTerminal booleanTerminal; public MtextExpectedBooleanTerminal(org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextBooleanTerminal booleanTerminal) { super(booleanTerminal.getMetaclass()); this.booleanTerminal = booleanTerminal; } public org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextBooleanTerminal getBooleanTerminal() { return booleanTerminal; } /** * Returns the expected boolean terminal. */ public org.feature.multi.perspective.mapping.viewmapping.resource.mtext.grammar.MtextSyntaxElement getSymtaxElement() { return booleanTerminal; } private org.eclipse.emf.ecore.EStructuralFeature getFeature() { return booleanTerminal.getFeature(); } public String toString() { return "EFeature " + getFeature().getEContainingClass().getName() + "." + getFeature().getName(); } public boolean equals(Object o) { if (o instanceof MtextExpectedBooleanTerminal) { return getFeature().equals(((MtextExpectedBooleanTerminal) o).getFeature()); } return false; } @Override public int hashCode() { return getFeature().hashCode(); } public java.util.Set<String> getTokenNames() { // BooleanTerminals are associated with two or one token(s) java.util.Set<String> tokenNames = new java.util.LinkedHashSet<String>(2); String trueLiteral = booleanTerminal.getTrueLiteral(); if (!"".equals(trueLiteral)) { tokenNames.add("'" + trueLiteral + "'"); } String falseLiteral = booleanTerminal.getFalseLiteral(); if (!"".equals(falseLiteral)) { tokenNames.add("'" + falseLiteral + "'"); } return tokenNames; } }