Class NonNullIteratorDecorator

  extended byorg.jmlspecs.jmlunit.strategies.AbstractFilteringIteratorDecorator
      extended byorg.jmlspecs.jmlunit.strategies.NonNullIteratorDecorator
All Implemented Interfaces:
Cloneable, IndefiniteIterator

public class NonNullIteratorDecorator
extends AbstractFilteringIteratorDecorator

An indefinite iterator that filters out null's that would be returned otherwise.

Gary T. Leavens

Class Specifications

Specifications inherited from class AbstractFilteringIteratorDecorator
public invariant !this.dented ==> (this.atEnd() <==> this.rawElems.atEnd());

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.AbstractFilteringIteratorDecorator
Ghost fields inherited from class java.lang.Object
objectTimesFinalized, owner
Field Summary
Fields inherited from class org.jmlspecs.jmlunit.strategies.AbstractFilteringIteratorDecorator
Constructor Summary
NonNullIteratorDecorator(IndefiniteIterator iter)
Model Method Summary
Model methods inherited from class java.lang.Object
Method Summary
 boolean approve(nullable Object elem)
Methods inherited from class org.jmlspecs.jmlunit.strategies.AbstractFilteringIteratorDecorator
advance, atEnd, clone, get, initialize, toString
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


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


public boolean approve(nullable Object elem)
Description copied from class: AbstractFilteringIteratorDecorator
Return true if the element is to be returned by the get() method.

Specifications: pure
Specifications inherited from overridden method approve(Object elem) in class AbstractFilteringIteratorDecorator:
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.