/* * This file is part of %PACKAGENAME%. * * %PACKAGENAME% is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * %PACKAGENAME% is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with %PACKAGENAME%. If not, see . * * For more information please see * or contact Peter Baumann via . * * Copyright 2009 Jacobs University Bremen, Peter Baumann. */ package syntaxParser; /* * All the lists have the same caracteristics, therfore all of them derive from this class * No need to verify that the list contain same type of elements since they are created using the grammar. */ class List implements IParseTreeNode { IParseTreeNode element; List next; String tag; public List(IParseTreeNode elem) { element = elem; next = null; } public List(IParseTreeNode elem, List next) { element = elem; this.next = next; } public void setTag(String tagName) { tag = tagName; if (next != null) { next.setTag(tag); } } public String toXML() { String result = ""; if (tag != null) { result += "<" + tag + ">"; result += element.toXML(); result += ""; } else result += element.toXML(); if (next != null) result += next.toXML(); return result; } }