// A class that represents a pizza. // Barry Cornelius, 19 June 2000 import java.util. HashSet; import java.util. Iterator; import java.util. Set; import java.util. StringTokenizer; public class Pizza { private Set iSet; public Pizza() { iSet = new HashSet(); } public Pizza(final String pString) { this(); final StringTokenizer tTokens = new StringTokenizer(pString, "-"); while (tTokens.hasMoreTokens()) { final String tToppingString = tTokens.nextToken(); add(tToppingString); } } public void add(final String pString) { final Topping tTopping = Topping.getInstance(pString); if (tTopping!=null) { iSet.add(tTopping); } } public boolean equals(final Object pObject) { if ( pObject==null || getClass()!=pObject.getClass() ) { return false; } return iSet.equals(((Pizza)pObject).iSet); } public int hashCode() { return iSet.hashCode(); } //BJCHEREFIRST public String toString() { if (iSet.isEmpty()) { return new String(""); } else { final StringBuffer tStringBuffer = new StringBuffer(); final Iterator tIterator = iSet.iterator(); while (tIterator.hasNext()) { final Topping tTopping = (Topping)tIterator.next(); tStringBuffer.append("-" + tTopping); } tStringBuffer.deleteCharAt(0); return tStringBuffer.toString(); } } }