JML

org.jmlspecs.jmlunit.strategies
Class CloneableObjectArrayAbstractIterator

java.lang.Object
  extended byorg.jmlspecs.jmlunit.strategies.ObjectArrayAbstractIterator
      extended byorg.jmlspecs.jmlunit.strategies.CloneableObjectArrayAbstractIterator
All Implemented Interfaces:
Cloneable, IndefiniteIterator
Direct Known Subclasses:
CloneableObjectAbstractStrategy.CloneableObjectAbstractStrategy$1, CloneableObjectArrayAbstractIterator_JML_TestData.IntArrayArrayIterator

public abstract class CloneableObjectArrayAbstractIterator
extends ObjectArrayAbstractIterator

An iterator that provides test data by returning a clone of the current object from an array of cloneable objects passed to its constructor.

Author:
Gary T. Leavens
See Also:
ObjectArrayAbstractIterator

Field Summary
 
Fields inherited from class org.jmlspecs.jmlunit.strategies.ObjectArrayAbstractIterator
 
Constructor Summary
CloneableObjectArrayAbstractIterator(Object[] elems)
          Initialize this iterator to iterate over a clone of the array
 
Method Summary
protected abstract  Object cloneElement(Object elem)
          Return a clone of the argument, which is assumed not to be null.
protected  Object duplicateIfNeeded(Object elem)
          Return a clone of the argument, or null if it is null.
 
Methods inherited from class org.jmlspecs.jmlunit.strategies.ObjectArrayAbstractIterator
advance, atEnd, clone, elementsString, get, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CloneableObjectArrayAbstractIterator

public CloneableObjectArrayAbstractIterator(Object[] elems)
Initialize this iterator to iterate over a clone of the array

Method Detail

duplicateIfNeeded

protected Object duplicateIfNeeded(Object elem)
Return a clone of the argument, or null if it is null.


cloneElement

protected abstract Object cloneElement(Object elem)
Return a clone of the argument, which is assumed not to be null.


JML

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.