/** * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * See the NOTICE file distributed with this work for additional * information regarding copyright ownership. */ package org.sintef.thingml.resource.thingml.mopp; /** * A representation for a range in a document where an enumeration literal (i.e., * a set of static strings) is expected. */ public class ThingmlExpectedEnumerationTerminal extends org.sintef.thingml.resource.thingml.mopp.ThingmlAbstractExpectedElement { private org.sintef.thingml.resource.thingml.grammar.ThingmlEnumerationTerminal enumerationTerminal; public ThingmlExpectedEnumerationTerminal(org.sintef.thingml.resource.thingml.grammar.ThingmlEnumerationTerminal 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.sintef.thingml.resource.thingml.grammar.ThingmlEnumerationTerminal getEnumerationTerminal() { return this.enumerationTerminal; } /** * Returns the expected enumeration terminal. */ public org.sintef.thingml.resource.thingml.grammar.ThingmlSyntaxElement getSymtaxElement() { return enumerationTerminal; } public String toString() { return "EnumTerminal \"" + getEnumerationTerminal() + "\""; } }