package system; import util.EfficientList; public interface Container<T> { public void clear(); /** * A child which is a {@link Container} can be checked if it is cleared (use * {@link Container#isCleared()}). If this is true it can be removed it can * be removed from the container */ public void removeEmptyItems(); /** * @return true if this object was cleared at least once and is currently * empty */ public boolean isCleared(); public int length(); public EfficientList<T> getAllItems(); public boolean add(T newElement); public boolean remove(T x); public boolean insert(int pos, T item); }