import java.util.HashMap;


public final class Symbol {
	static final HashMap<String, Symbol> symbols = new HashMap<String, Symbol>();
	private String name;
	protected Symbol(String name) {
		this.name = name;
	}
	
	@Override
	public final String toString() {
		return this.name;
	}
	
	public static final Symbol intern(String name) {
		Symbol result = symbols.get(name);
		if(result == null) {
			result = new Symbol(name);
			symbols.put(name, result);
		}
		return result; 
	}
}
