StringLiteralEltWrapper.java

package edu.udel.cis.vsl.tass.ast.parser;

import java.io.PrintWriter;
import java.util.Map;

import edu.udel.cis.vsl.tass.ast.IF.expression.StringLiteralNodeIF;

class StringLiteralEltWrapper implements NodeEltWrapperIF {

    private final StringLiteralNodeIF node;

    public StringLiteralEltWrapper(StringLiteralNodeIF node) {
        this.node = node;
    }

    public void setAttr(int index, NodeEltWrapperIF attr) {
        throw new ParserException("StringLiteral nodes have no attributes");
    }

    public void setChild(int index, NodeEltWrapperIF attr) {
        throw new ParserException("StringLiteral nodes have no children");
    }

    public StringLiteralNodeIF getNode() {
        return node;
    }

    public void toXml(String prefix,
                      String eltName,
                      IdGenerator idGen,
                      Map<Object,Long> refTable,
                      PrintWriter out) {
        if (!refTable.containsKey(node)) {
            refTable.put(node,idGen.getId());
        }
    }

}