package org.reldb.rel.v0.generator;
import java.util.*;
/** Reference to global relvars, operators, and/or types. */
public class References {
HashSet<String> relvars = new HashSet<String>();
HashSet<String> operators = new HashSet<String>();
HashSet<String> types = new HashSet<String>();
public void addReferenceToRelvar(String relvarName) {
relvars.add(relvarName);
}
public void removeReferenceToRelvar(String relvarName) {
relvars.remove(relvarName);
}
public void addReferenceToOperator(String operatorName) {
operators.add(operatorName);
}
public void removeReferenceToOperator(String operatorName) {
operators.remove(operatorName);
}
public void addReferenceToType(String typeName) {
types.add(typeName);
}
public void removeReferenceToType(String typeName) {
types.remove(typeName);
}
public Collection<String> getReferencedRelvars() {
return relvars;
}
public Collection<String> getReferencedOperators() {
return operators;
}
public Collection<String> getReferencedTypes() {
return types;
}
public String toString() {
StringBuffer out = new StringBuffer();
for (String s: relvars)
out.append("VAR " + s + "\n");
for (String s: operators)
out.append("OPERATOR " + s + "\n");
for (String s: types)
out.append("TYPE " + s + "\n");
return out.toString();
}
}