//TT4DSquare.java /** * * @author Sean Bridges * @version 1.0 * * A TT4DSquare holds the contents of 1 square. It can inform its listeners * when it changes. */ import java.util.*; public class TT4DSquare { //------------------------------------------ //instance variables private String contents = TT4DBoard.NULL_PLAYER_STRING; private Vector listeners = new Vector(); private TT4DPoint point; //------------------------------------------ //constructors /** * Creates new TT4DSquare */ public TT4DSquare(TT4DPoint point) { this.point = point; } //------------------------------------------ //listeners public void addListener(TT4DSquareListener l) { listeners.addElement(l); } public void remmoveListener(TT4DSquareListener l) { listeners.removeElement(l); } private void notifyListeners(String oldContents, String newContents) { Enumeration e = listeners.elements(); while(e.hasMoreElements()) { ((TT4DSquareListener) e.nextElement() ).contentsChanged(oldContents, newContents); } } //------------------------------------------ //instance methods public String getContents() { return contents; } public void setContents(String aString) { String old = contents; contents = aString; notifyListeners(old, contents); } public TT4DPoint getPosition() { return point; } public String toString() { return "Square holding:" + contents + " at:" + point; } }//end class TT4DSquare