org.openstreetmap.osmosis.core.store
Class ObjectStreamIterator<T>

java.lang.Object
  extended by org.openstreetmap.osmosis.core.store.ObjectDataInputIterator<T>
      extended by org.openstreetmap.osmosis.core.store.ObjectStreamIterator<T>
Type Parameters:
T - The type of data to be returned by the iterator.
All Implemented Interfaces:
java.util.Iterator<T>, Releasable, ReleasableIterator<T>
Direct Known Subclasses:
SubObjectStreamIterator

public class ObjectStreamIterator<T>
extends ObjectDataInputIterator<T>
implements ReleasableIterator<T>

This class reads objects from an ObjectInputStream until the end of stream is reached.

Author:
Brett Henderson

Constructor Summary
ObjectStreamIterator(java.io.DataInputStream inStream, ObjectReader objectReader)
          Creates a new instance.
 
Method Summary
 void release()
          Performs resource cleanup tasks such as closing files, or database connections.
 
Methods inherited from class org.openstreetmap.osmosis.core.store.ObjectDataInputIterator
hasNext, next, remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Iterator
hasNext, next, remove
 

Constructor Detail

ObjectStreamIterator

public ObjectStreamIterator(java.io.DataInputStream inStream,
                            ObjectReader objectReader)
Creates a new instance.

Parameters:
inStream - The stream to read objects from.
objectReader - The reader containing the objects to be deserialized.
Method Detail

release

public void release()
Performs resource cleanup tasks such as closing files, or database connections. This must be called after all processing is complete and may be called multiple times. Implementations must call release on any nested Releasable objects. It should be called within a finally block to ensure it is called in exception scenarios.

Specified by:
release in interface Releasable