Class LongNonNegativeIteratorDecorator

  extended byorg.jmlspecs.jmlunit.strategies.LongAbstractIterator
      extended byorg.jmlspecs.jmlunit.strategies.LongAbstractFilteringIteratorDecorator
          extended byorg.jmlspecs.jmlunit.strategies.LongNonNegativeIteratorDecorator
All Implemented Interfaces:
Cloneable, IndefiniteIterator, LongIterator

public class LongNonNegativeIteratorDecorator
extends LongAbstractFilteringIteratorDecorator

An indefinite iterator that filters out negative test data.

Gary T. Leavens

Class Specifications

Specifications inherited from class LongAbstractFilteringIteratorDecorator
public invariant !this.dented ==> (this.atEnd() <==> this.rawElems.atEnd());
public invariant !this.dented ==> (!this.atEnd() ==> this.get().equals(this.rawElems.get()));
public invariant_redundantly !this.dented ==> (!this.atEnd() ==> new java.lang.Long(this.getLong()).equals(new java.lang.Long(this.rawElems.getLong())));

Specifications inherited from class Object
represents objectState <- org.jmlspecs.lang.JMLDataGroup.IT;
public represents _getClass <- \typeof(this);

Model Field Summary
Model fields inherited from class java.lang.Object
_getClass, objectState, theString
Ghost Field Summary
Ghost fields inherited from class org.jmlspecs.jmlunit.strategies.LongAbstractFilteringIteratorDecorator
Ghost fields inherited from class java.lang.Object
objectTimesFinalized, owner
Field Summary
Fields inherited from class org.jmlspecs.jmlunit.strategies.LongAbstractFilteringIteratorDecorator
Constructor Summary
LongNonNegativeIteratorDecorator(LongIterator iter)
Model Method Summary
Model methods inherited from class java.lang.Object
Method Summary
 boolean approve(long elem)
          Return true just when the argument is not negative.
Methods inherited from class org.jmlspecs.jmlunit.strategies.LongAbstractFilteringIteratorDecorator
advance, atEnd, clone, getLong, initialize, toString
Methods inherited from class org.jmlspecs.jmlunit.strategies.LongAbstractIterator
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public LongNonNegativeIteratorDecorator(LongIterator iter)
public normal_behavior
requires iter != null;
assignable rawElems, objectState;
ensures (* rawElems is a clone of iter *);
Method Detail


public boolean approve(long elem)
Return true just when the argument is not negative.

Specifications: pure
public normal_behavior
assignable \nothing;
ensures \result <==> !(elem < 0);
Specifications inherited from overridden method approve(long elem) in class LongAbstractFilteringIteratorDecorator:
public normal_behavior
assignable \nothing;


JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.