package prefuse.util.collections;
/**
* Abstract LiteralIterator implementation that supports an iteration over
* int values. Subclasses need only implement the {@link #nextInt()} method.
* The {@link #nextLong()}, {@link #nextFloat()}, and {@link #nextDouble()}
* methods all simply cast the output of {@link #nextInt()}. The
* {@link #next()} method simply wraps the output of {@link #nextInt()} in
* an {@link java.lang.Integer} object.
*
* @author <a href="http://jheer.org">jeffrey heer</a>
*/
public abstract class IntIterator extends AbstractLiteralIterator {
/**
* @see java.util.Iterator#next()
*/
public Object next() {
return new Integer(nextInt());
}
/**
* @see prefuse.util.collections.LiteralIterator#isDoubleSupported()
*/
public boolean isDoubleSupported() {
return true;
}
/**
* @see prefuse.util.collections.LiteralIterator#isFloatSupported()
*/
public boolean isFloatSupported() {
return true;
}
/**
* @see prefuse.util.collections.LiteralIterator#isIntSupported()
*/
public boolean isIntSupported() {
return true;
}
/**
* @see prefuse.util.collections.LiteralIterator#isLongSupported()
*/
public boolean isLongSupported() {
return true;
}
/**
* @see prefuse.util.collections.LiteralIterator#nextDouble()
*/
public double nextDouble() {
return nextInt();
}
/**
* @see prefuse.util.collections.LiteralIterator#nextFloat()
*/
public float nextFloat() {
return nextInt();
}
/**
* @see prefuse.util.collections.LiteralIterator#nextLong()
*/
public long nextLong() {
return nextInt();
}
/**
* @see prefuse.util.collections.LiteralIterator#nextInt()
*/
public abstract int nextInt();
} // end of abstract class IntIterator