TASSIntEltWrapper.java

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

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

import edu.udel.cis.vsl.tass.number.IF.IntegerNumberIF;

class TASSIntEltWrapper implements NodeEltWrapperIF {
    private final IntegerNumberIF node;

    public TASSIntEltWrapper(IntegerNumberIF node) {
        this.node = node;
    }

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

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

    public IntegerNumberIF 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());
        }
    }

}