// @(#)$Id: AbstractCollection.jml,v 1.8 2006/12/11 23:09:41 chalin Exp $ // Copyright (C) 2005 Iowa State University // // This file is part of the runtime library of the Java Modeling Language. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation; either version 2.1, // of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with JML; see the file LesserGPL.txt. If not, write to the Free // Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA // 02110-1301 USA. package java.util; public abstract class AbstractCollection implements Collection { /*@ protected normal_behavior @ ensures true; @*/ //@ pure protected AbstractCollection(); // Query Operations // specification inherited from Collection public abstract /*@ pure @*/ Iterator iterator(); // specification inherited from Collection public abstract /*@ pure @*/ int size(); // specification inherited from Collection public /*@ pure @*/ boolean isEmpty(); // specification inherited from Collection public /*@ pure @*/ boolean contains(/*@nullable*/ Object o); // specification inherited from Collection public /*@ pure @*/ Object[] toArray(); // specification inherited from Collection public Object[] toArray(Object[] a); // Modification Operations // specification inherited from Collection public boolean add(/*@nullable*/ Object o); // specification inherited from Collection public boolean remove(/*@nullable*/ Object o); // Bulk Operations // specification inherited from Collection public /*@ pure @*/ boolean containsAll(Collection c); // specification inherited from Collection public boolean addAll(Collection c); // specification inherited from Collection public boolean removeAll(Collection c); // specification inherited from Collection public boolean retainAll(Collection c); // specification inherited from Collection public void clear(); // String conversion // specification inherited from Collection public String toString(); }