// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.core.store; import org.openstreetmap.osmosis.core.OsmosisRuntimeException; import org.openstreetmap.osmosis.core.lifecycle.ReleasableIterator; /** * Provides an iterator which returns no data. This is returned by iterator * methods that have no data to be returned. * * @author Brett Henderson * @param <DataType> * The type of data to be returned by the iterator. */ public class EmptyIterator<DataType> implements ReleasableIterator<DataType> { /** * {@inheritDoc} */ public boolean hasNext() { // No data can be returned. return false; } /** * {@inheritDoc} */ public DataType next() { throw new OsmosisRuntimeException("This iterator contains no data."); } /** * {@inheritDoc} */ public void remove() { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public void close() { // Nothing to do. } }