// Circular.java // (c) 1997 Kim Bruce; Modified 1999 Andrea Danyluk /** Interface for collection of objects in a circular arrangement. **/ public interface Circular { // pre: this is non-empty // post: moves current to successor position in arrangement public void next(); // pre: // post: returns number of elts in object public int size(); // pre: this is non-empty // post: returns the current element public Object getCurrent(); // pre: this is non-empty // post: Current elt is deleted, if non-empty, successor of // old current is new current elt public void removeCurrent(); // pre: // post: If this was empty, obj is inserted as only elt, owise // added after current elt // Either way, obj is now current elt public void addAfterCurrent(Object obj); // pre: // post: collection of objects is now empty public void clear(); // pre: // post: returns true if this is empty; false otherwise. public boolean isEmpty(); }