// @(#)$Id: Comparator.refines-spec,v 1.3 2006/01/24 17:09:48 leavens 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 interface Comparator { // FIXME -- complete these specs - what about null arguments? // what about purity? /*@ also public behavior @ ensures o==this ==> \result; @*/ //@ pure public boolean equals(/*@ nullable @*/ java.lang.Object o); /*@ @ ensures o == oo ==> \result == 0; @*/ //@ pure public int compare(java.lang.Object o, java.lang.Object oo); }